Bir süreci, algoritmayı veya iş akışını adım adım gösteren, standart semboller kullanılarak çizilen diyagramlara akış şeması denir. Bir problemi çözmek için izlenecek yolu görselleştirmemize yardımcı olur.
Her akış şeması bu sembolle başlar ve biter. Sürecin başlangıç ve bitiş noktalarını belirtmek için kullanılır. İçine "Başla", "Bitir" gibi ifadeler yazılır.
Yapılacak her türlü hesaplama, değer atama veya matematiksel işlem bu sembol ile gösterilir. Örneğin: \( x = a + b \), \( Ortalama = Toplam / 5 \)
Dışarıdan bilgi alınması (INPUT) veya sonuçların dışarıya gösterilmesi (OUTPUT) için kullanılır. Örneğin: Kullanıcıdan sayı girmesini istemek veya hesaplanan ortalamayı ekrana yazdırmak.
Evet/Hayır (True/False) veya belirli koşullara göre cevaplanabilecek bir soru sorulduğu yerdir. Sorunun cevabına göre akış farklı yönlere ayrılır. İçine genellikle "Sayı 0'dan büyük mü?", "Not >= 50 mi?" gibi sorular yazılır.
Semboller arasında çizilen oklardır. İşlem sırasının hangi yönde ilerleyeceğini, yani adımların sırasını gösterir.
Akış şeması birden fazla sayfaya yayılmışsa veya çizimin karmaşık olmaması için akışın devam ettiğini göstermek amacıyla kullanılan daire şeklindeki semboldür. Aynı numaraya sahip bağlantılar birbirine bağlıdır.
Kullanıcıdan alınan bir sayının pozitif, negatif veya sıfır olduğunu bulmak için aşağıdaki gibi bir akış şeması çizilebilir:
Bu örnekte, işlemlerin sırası akış yönü okları ile belirtilir ve karar sembolleri algoritmanın dallanmasını sağlar.
Soru 1: Bir yazılım geliştirici, kullanıcıdan alınan bir sayının tek mi çift mi olduğunu kontrol eden bir programın akış şemasını çizmek istiyor. Kullanıcıdan sayıyı almayı, sayının 2'ye bölümünden kalanı hesaplamayı, kalanın 0'a eşit olup olmadığını kontrol etmeyi ve sonucu ekrana yazdırmayı planlıyor. Bu işlemler için aşağıdaki sembollerden hangisini kullanması en uygun olur?
a) Başlangıç - Girdi/Çıktı - İşlem - Karar - Bitiş
b) Başlangıç - İşlem - Girdi/Çıktı - Karar - Bitiş
c) Başlangıç - Girdi/Çıktı - Karar - İşlem - Girdi/Çıktı - Bitiş
d) Başlangıç - Girdi/Çıktı - İşlem - Karar - Girdi/Çıktı - Bitiş
e) Başlangıç - İşlem - Karar - Girdi/Çıktı - Bitiş
Cevap: d) Başlangıç - Girdi/Çıktı - İşlem - Karar - Girdi/Çıktı - Bitiş
Çözüm: İşlem sırası: Program Başlar (Başlangıç) → Kullanıcıdan sayı alınır (Girdi/Çıktı) → Sayının mod 2'si hesaplanır (İşlem) → Sonuç 0 mı? (Karar) → "Çift" veya "Tek" yazdırılır (Girdi/Çıktı) → Program biter (Bitiş).
Soru 2: Bir otomatik içecek makinesinin çalışma mantığını gösteren akış şemasında, "Para yeterli mi?" sorusuna hayır cevabı verildiğinde, "Para üstü ver" işlemi yapılıp program sonlandırılıyor. Bu durumda "Para üstü ver" işlemini ve programın sonlanmasını temsil etmek için hangi iki sembol kullanılmalıdır?
a) İşlem Sembolü - Başlangıç Sembolü
b) Girdi/Çıktı Sembolü - Başlangıç Sembolü
c) İşlem Sembolü - Bitiş Sembolü
d) Girdi/Çıktı Sembolü - Bitiş Sembolü
e) Karar Sembolü - Bitiş Sembolü
Cevap: d) Girdi/Çıktı Sembolü - Bitiş Sembolü
Çözüm: "Para üstü ver" makinenin kullanıcıya fiziksel bir çıktı (para) verme işlemidir, bu nedenle Girdi/Çıktı (Paralelkenar) sembolü ile gösterilir. İşlem tamamlandıktan sonra program sona erdiği için akış Bitiş (Yuvarlak Köşeli Dikdörtgen) sembolü ile tamamlanır.
Soru 3: Aşağıdaki akış şeması sembollerinden hangisi, programın akış yönünü ve farklı işlem adımları arasındaki ilişkiyi göstermek için kullanılır?
a)
b)
c) →
d)
e)
Cevap: c) →
Çözüm: Oklar, akış şemalarında işlemlerin hangi sırayla ilerleyeceğini, karar noktalarından sonra hangi yola gidileceğini gösteren ve sembolleri birbirine bağlayan temel yön göstergeleridir. Diğer şıklarda verilen semboller sırasıyla: a) İşlem, b) Girdi/Çıktı, d) Karar, e) Başlangıç/Bitiş'tir.