C programlama da
Algoritma Hazırlama‘dan sonra değinilmesi gereken bir diğer önemli konu Akış diyagramlarıdır.
Akış diyagramları problemin şekiller ile ifade edilmesidir, çözülmesi gereken problem için izlenen her bir adımı belirli şekiller ile ifade ederek daha okunaklı hale getirmek için uygulanır. Standart akış diyagramı şekilleri olsa da, akış diyagramı hazırlayan kişi kendi isteği üzerine aynı işi yapan şekiller de kullanabilir. Önemli olan programcılık mantığını anlayabilmek olduğu için kullanılan şekillerin amacına yönelik olması yeterlidir.
Akış diyagramı çizerken sık sık kullanılan şekiller şunlardır.
Akış diyagramında kullanılan şekiller
Şekiller ve kullanım amaçları yukarı gördüğünüz gibi şekillerin içerisinde yazmaktadır. Şimdi bunları birkaç örnek içerisinde, birlikte kullanarak etkileşimlerini görelim…
Girilen iki sayının toplamını hesaplayan akış diyagramı
Şekilde de gördüğünüz gibi iki sayı girilmekte,
S1 ve
S2 değişkenlerine atanmakta bir diğer ifade ile aktarılmaktadır. Bu sayıların toplamı da
T isimli değişkene aktarılmaktadır. Burada bir ipucu vermek gerekirse
S1 ve
S2 değişkenlerine sayılar şekillerdeki gibi aktarılabilirken bu işlemin daha kolay bir yöntemi bulunmaktadır. Aşağıdaki şekilde bunun bir örneğini görebilirsiniz…

Şimdi örneklerimizi biraz zorlaştırarak matematiksel işlemler üzerinden devam edelim, sıradaki örneğimizde kullanıcıdan alınan üç adet sayının ortalamasını hesaplayıp bilgi çıkışı ile ekranda görüntüleyen akış diyagramını hazırlayalım.
Girilen üç sayının ortalamasını hesaplayan akış diyagramı
İlk olarak kullanıcıdan üç adet sayı alınıyor ve bu sayılar direkt olarak ortalama değişkenine aktarılırken aynı zamanda aritmetik işlemler yapılıyor, burada dikkatinizi çekmesi gereken husus, matematiksel işlemlerdeki öncelik sırasının C dilinde de aynı şekilde kullanıldığıdır. Üçüncü aşama da görülen ORT=(A+B+C)/3 işleminde öncelikle parantez içindeki işlem daha sonra parantez dışındaki işlem yapılıyor, dolayısıyla alınan üç sayı toplandıktan sonra sayıların adedi olan 3‘e bölünüyor…
Girilen sayının Pozitif, Negatif ve ya Sıfır olduğunu bulan akış diyagramı
Yukarıdaki akış diyagramında, önce kullanıcıdan bir sayı alınıyor ve bu sayı ile ilgili karşılaştırmalar yapılarak doğru karşılaştırılmaya ulaşıldığı takdirde bilgi çıkışı kullanılarak sayının durumu yazdırılıyor, bu akış diyagramını aklınızdan herhangi bir sayı vererek deneyebilirsiniz, anlaşılması daha kolay olacaktır.
Not: Yukarıdaki akış diyagramının bir adım daha kolay şekilde hazırlanması mümkündür, bu yolu araştırıp bulmanız sizin açınızdan daha faydalı olacaktır. Bulamadığınız takdirde bana ulaşabilirsiniz…
Girilen on sayının en büyünü bulan akış diyagramı
Girilen on sayının en büyüğünü bulan algoritma da bir döngü kullanılmış ve bu döngünün dönüş sayısı S isimli değişkende tutulmuş, S<10 karşılaştırması ile de kontrol edilmiş. İlk girilen sayı EB değişkeni ile en büyük sayı olarak kabul edilmiş ve ardından gelen sayılar bu sayı ile karşılaştırılarak doğru sonuç elde edilmeye çalışılmış. Değişik bir yöntemin kullanıldığı bu akış diyagramının da daha kompleks olmayan bir yapısı bulunmaktadır, kendinizin öğrenmesi açısından bu yöntemi de araştırarak bulmanız sizin açınızdan faydalı olacağı kanısındayım…
Bölme operatörü kullanmadan sayıyı bölen akış diyagramı
Akış diyagramları ve C programlamayı öğrenebilmeniz için belkide en iyi örnek “Bölme operatörü kullanmadan sayıyı bölen akış diyagramı“dır. Zira bölme operatörünün nasıl çalıştığını anlamanız için birebir ve bunun gibi daha birçok algoritma hakkında karar verebilmenize olanak sağlayabilecek bir algoritma olduğunu düşünüyorum. Algoritmamıza bakacak olursak;
» X ve Y isimli iki değişkene dışarıdan aktarılan sayılar sırası ile bölme işlemlerinde kullanılan Bölünen ve Bölen sayıları olarak kabul ediliyor.
» İlk olarak Bölünen‘in Bölen‘den büyük olup olmadığı kontrol ediliyor.
» Eğer büyük ise, bölünen sayıdan bölen sayı çıkartılıyor ve sayaç bir arttırılıyor, bu işlem bölünen sayı bölen sayıdan küçük olana kadar devam ediyor.
» Sonuç olarak, X yani Bölünen sayı her defasında eksildiği için Bölen sayıdan küçük olduğu durumda Kalan oluyor, S değişkeni ise her seferinde arttığı için Bölüm oluyor…