ak
Akış diyagramları, algoritma adımlarının geometrik şekillerle ifade edilmesi olarak tanımlanır. “Algoritma adımlarını zaten yazıya dökebiliyoruz, akış şemalarına ne gerek var?“ diye düşünebilirsiniz. Akış diyagramı, tüm Dünya'da bulunan programcılar arasında bir ortak dildir. Algoritmanızı hangi dilde hazırlarsanız hazırlayın akış diyagramları herkes için aynı olacaktır.Bunu trafik lambalarıyla örnekleyebiliriz. Ülkemizde trafik lambalarında renkler yerine dur, bekle ve geç yazması belki kendi vatandaşımız için daha anlaşılır olacaktır ancak Türkçe bilmeyen insanlar için sorun teşkil edecektir.
Yazıları algoritma adımlarına benzetirsek trafik lambalarınında akış diyagramları renklerdir. Dur, bekle ve geç yerine kırmızı, sarı ve yeşil renk kodlarının kullanılması dilden bağımsız olarak herkesin daha rahat anlamasını sağlayacaktır. Algoritma ile akış diyagramları arasındaki ilişki de aynen buna benzer.
Akış diyagramlarında kullanabileceğimiz semboller aşağıda listelenmiştir.
Başla, Bitir
Akış diyagramlarının başlangıç ve bitişinde kullanılır. Tüm akış diyagramlarında sadece bir adet başlangıç olmak zorundadır. Bitiş istenilen sayıda olabilir.
İşlem
Her türlü hesaplama ve atama işlemleri için kullanılır.
Öntanımlı İşlem
Önceden hazırlanmış, belli bir işlevi yapan işlem taslağı grubunu temsil eder.
Alternatif İşlem
Normal işlem adımına alternatif bir işlem olarak kullanılır ve kesikli çizgilerle ifade edilir.
Karar
Program akışını istenen şartlara göre değiştirmek için kullanılır.
Veri
Klavyeden yapılacak girişler için kullanılır. Girilecek olan bilgi bir değişkene aktarılır. Sembol içerisine değişken yazılmalıdır.
Belge
Bilgi, sonuç veya uyarıların kullanıcıya çıktı olarak verilmesi için kullanılır. Sembol içerisine çıktısı verilecek yazı, sayı, değişken ve benzeri yazılır.
Çoklu Belge
Belgenin çoklu olanıdır.
Hazırlık
Yapılacak iş birden çoksa (Döngü mantığı) bu sembol kullanılır.
Ekran
Kullanıcı veya operatöre uyarı mesajları vermek için kullanılır.
Elle Giriş
Sisteme(Programa) elle bilgi girilmesi gerektiğinde kullanılır.
Elle Yapılan İşlem
Otomatik yapılamayacak işlemler için kullanılır.
Kart
Punch kartlar ile yapılacak işlemler için kullanılır. Günümüzde gerek kalmamıştır.
Delikli Kart
Punch kartlar ile yapılacak işlemler için kullanılır. Günümüzde gerek kalmamıştır.
Bağlayıcı
Hazırlanan bir akış diyagramında uzak bir noktaya bağlantıyı göstermek için kullanılır.
Sayfa Sonu Bağlayıcısı
Bir sayfaya sığmayan çizimin başka bir sayfadaki noktasına bağlantıyı belirtmek için kullanılır.
Veya
İki şart bağlı karar vermeye yarar.
Toplama Kavşağı
Farklı dallardan gelen işlemleri tek bir noktada toplamak için kullanılır.
Karşılaştır
Verilerin, bilgilerin veya materyallerin normal standartta olup olmadığına bakılır.
Sırala
Verileri, bilgileri veya materyalleri sıralamak için kullanılır.
Birleştir
Bu sembol birden fazla işlemin birleştirildiğini gösterir.
Aktar
Bu sembol tek bir işlemi parçalara ayırmak için kullanılır.
Erteleme
Bir işlemi ertelemede kullanılır.
Depolanan Veri
Depolanacak olan veriyi ve tutulacağı ortamı belirtmek için kullanılır.
Manyetik Disk
Bu sembol verileri depolamak için kullanılır.
Direk Giriş Deposu
Sabit diske doğrudan erişim için kullanılır.
İç Depo
Bir veri dosyasına karşılık hafızada depolanan veriler için kullanılır.
Ardışık Giriş
Sıradan erişimli dosyalama için kullanılır. Örneğin; teyp kasetleri, manyetik şeritler vb.
Konunun daha iyi anlaşılabilmesi için basit bir örnek üzerinde çalışalım.. Örneğimizde A, B, C gibi 3 farklı sayının büyükten küçüğe sıralamasını yapacağız. Örneğimizi incelediğinizde algoritmanın ve dolayısıyla akış diyagramının daha akılcı şekilde çözülmesinin mümkün olduğunu göreceksiniz. Burada amacımız en uygun çözümü bulmaktan ziyade algoritma ile akış diyagramı arasındaki ilişkiyi gösterebilmektir. Bu sebeple algoritmanın uygunluğuna takılmadan akış diyagramlarıyla olan ilişkisine dikkat etmelisiniz.
1-Başla
2-Ekrana "birbirinden farklı 3 sayı giriniz." yaz
3-A, B, C sayılarını öğren
4-Eğer A > B > C ise yaz A, B, C
5-Eğer A > C > B ise yaz A, C, B
6-Eğer B > A > C ise yaz B, A, C
7-Eğer B > C > A ise yaz B, C, A
8-Eğer C > A > B ise yaz C, A, B
9-Eğer C > B > A ise yaz C, B, A
10-Dur.