- 21 Haz 2021
- 1,453
- 18
- 556
Merhaba sayın THT üyeleri bu konumda programlama giriş temellerinden biri olan algoritma ve akış diyagramı konusunu ele alacağım. Herkese keyifli okumalar diliyorum.
~ Algoritma Nedir ~
Algoritma aslında programlamaya giren herksin ilk öncelikle öğrettikleri şeydir, programlama mantığını daha iyi anlamanıza yardımcı olur. Algoritma bir sorunu çözmek için veya veya belirli bir hedefe ulaşmak için tasarlanan yoldur aslında. Mesela bir örnek verelim. Bir sosyal medya projeniz var. Ve bir search engine yapıyorsunuz yani arama motoru. Bunun algoritması nasıl olur şöyle; İlk öncelikle kullanıcılar veri tabanına kayıt olur, sonrasında bir api geliştirilir, frontend geliştirici bu api'yı fontend'e entegre eder. Sonrasında bir kullanıcı farklı bir kullanıcıyı arama motorunda aradığı zaman veri tabanında kayıtlı olan kullanıcı karşısına çıkar. Basit bir algoritma örneği.
Tabii algoritma zamanında kağıt üstünde, beyaz tahta gibi yerlerde tasarlanıyordu. Sonrasında teknolojinin gelişimiyle beraber her şey dijital ortama taşındı algoritmalar da dahil. Sonrasında geliştirilen algoritmalar tasarıma dönüştürüldü. Oraya geleceğiz. Şimdilik konuyu dağıtmayalım.
Tabii tasarlanan algoritmanın detaylı ve doğru sonuç vermesi lazım. Her yazılımcı tasarlanan algoritmalar üzerinden kodları yazarlar, Tasarlanan algoritma da eksik bir yer var ise büyük sıkıntılar çıkabilir. Gerekli güvenlik açıkları, veri sızıntısı gibi gibi. Adım adım her detayını düşünerek ilerlemesi lazım üstte verdiğim örnek gibi. Tabii ki o basit bir örnekti kurumsal alanlarda tasarlanan algoritmalar daha detaylı oluyor.
~ Akış Diyagramı Nedir ~
Evet şimdi gelelim akış diyagramına, akış diyagramı geliştirilen algoritmanın tasarıma dökülmüş halidir. Böylelikle kafa karışıklığının önüne geçmiş oluruz. Tabii bunun yanı sıra geliştirilen algoritmanın anlaşılabilir hale gelmesi çok daha kolay olacaktır. Tabii geliştirilen algoritmaları tasarıma dökmek için çeşitli web siteleri ve uygulamaları mevcut.
Herkesin severek kullandığı "excalidraw" Web sitesi kolay kullanımı ve rahatlığı ile geliştirilen algoritmanın akış diyagramı daha rahat tasarlanabiliyor. Bunun yanı sıra "draw.io" masaüstü uygulaması ile geliştirilen algoritmanın akış diyagramı çok kolay bir şekilde tasarlanabiliyor. Dediğim gibi akış diyagramı bir tasarımdır. Algoritmanın tasarım halidir. Daha rahat ve kolay anlaşılabilmesi için öne sürülmüş bir terimdir aşağıda vereceğim örnek ile daha rahat anlayabilirsiniz.
Biraz da İf Else döngüsü gibi, Oluyorsa bunu yap olmuyorsa bunu yap gibisinden. Dediğim gibi sıralı, detaylı ve doğru sonuç vermeli. Aksi taktirde algoritmanız pek sağlıklı çalışmaz. Benim amacım şu anda bu konuyu tamamı ile öğretmek değil. Benim amacım mantığını öğretmek. Siz de kendiniz çalışarak öğrenebilirsiniz. Algoritma soruları çözerek algoritma mantığınızı geliştirebilirsiniz, akış diyagramları tasarlayarak daha kolay öğrenebilirsiniz. Yazılımın temel taşlarından olan algoritma ve akış diyagramı konularını öğrenmek çok yararınıza olacaktır.
Evet konumuzun sonuna gelmiş bulunmaktayız, buraya kadar okuyan herkese sonsuz teşekkürler.