Algoritma ve Akış Şemaları Algoritma özellikle matematik ve bilgisayar biliminde kullanılır. Bir işi yapmak için net bir şekilde tanımlanan, belli bir başlangıcı ve sonu olan işlem basamakları kümesidir.
Önemli Algoritmalar karşılaşılabilecek tüm ihtimalleri ele alabilecek kadar genel olmalıdır. Her adım son derece belirleyici olmalıdır. Hiç bir ihtimal şansa bağlı olmamalıdır. Belirli bir sayıda adım sonunda algoritma sonlanmalıdır. İşlemlerin sıralanmasında, işlem öncelikleri göz önünde bulundurulmalıdır.
Uyarı Algoritma bir programlama dili değildir. (Programlama dillerine yol gösteren bir yöntem dizisidir) İşleri yapmak, kolaylaştırmak ve hızlandırmak için algoritma kullanılır.
Örnek: Verilen iki sayının toplamını ekrana yazdıran algoritma aşağıdaki gibi yazılır. Adım 1 – Başla Adım 2 – Birinci Sayıyı Oku Adım 3 – İkinci Sayıyı Oku Adım 4 – İki Sayıyı Topla Adım 5 – Toplamı Ekrana Yazdır Adım 6 – Dur
Akış Şemaları Akış şemaları, algoritmanın şekil ve sembollerle ifade edilmesidir. Akış şemasında her adım birbirinden farklı anlamlar taşıyan şekillerden oluşur ve adımlar arasındaki ilişki oklar ile belirlenir. Kodlanacak programın akış şemasının oluşturulması, sürecin daha kolay çözümlenmesine yardımcı olur.
Algoritmanın başladığını ya da sona erdiğini belirtmek için kullanılır. Araç belirtemeden giriş ya da çıkış yapılacağını gösterir. Ekran çıktısı yazdırmak için kullanılır. Oklar işin akış yönünü gösterir. Hesaplama ya da değerlerin değişkenlere aktarımını gösterir. Yapılacak işler birden fazla sayıda yinelecek İse, diğer bir deyişle iş akışında çevrim (döngü) var ise bu sembol kullanılır. Aritmetik ve mantıksal ifadeler için karar verme ya da karşılaştırma durumunu gösterir.
Akış şemaları içerik ve biçimlerine göre genel olarak üç grupta sınıflandırılabilirler. Doğrusal Akış Şemaları Mantıksal Akış Şemaları Döngüsel Akış Şemaları
Doğrusal Akış Şemaları İş akışları giriş, hesaplama, çıkış biçiminde olan akış şemaları bu grup kapsamına girer. Örnek: Klavyeden girilen İki sayının toplamını hesaplayıp ekrana yazdıran algoritma ve akış şemasını hazırlayınız. (X: Birinci sayı, Y: İkinci sayı, Z: toplam) A1 : Başla A2 : Klavyeden oku X A3 : Klavyeden oku Y A4 : Hesapla Z = X + Y A5 : Yaz Z A6 : Dur
Örnek – Akış Şeması Başla Birinci sayıyı giriniz (X) İkinci sayıyı giriniz (Y) İki sayıyı topla Z=X+Y Toplamı (Z) ekrana yazdır Bitir
Mantıksal Akış Şemaları Geniş ölçüde mantıksal kararları içeren akış şemalarıdır. Hesap düzenleri genellikle basittir. Örnek: Klavyeden girilen bir sayının pozitif, negatif veya sıfıra eşit olma durumunu hesaplayıp ekrana yazdıran algoritma ve akış şemasını hazırlayınız. (S : Sayı) A1 : Başla A2 : Oku S A3 : Eğer S > 0 ise “Pozitif” yaz, A4 : Eğer S < 0 ise “Negatif” yaz, A5 : Eğer S = 0 ise “Sıfıra eşit” yaz, A6 : Dur
Örnek – Mantıksal Akış Şemaları Başla Sayı giriniz (S) S=0 S > 0 S < 0 Ekrana Negatif yazdır Ekrana pozitif yazdır E Ekrana Sıfıra Eşit yazdır Bitir
Döngüsel Akış Şemaları Sorunun çözümü için, çözümde yer alan herhangi bir adım ya da aşamanın birden fazla kullanıldığı akış şemalarına denir. İş akışları genel olarak giriş ya da başlangıç değeri verme, hesaplama, kontrol biçiminde olmaktadır.
Döngüsel Akış Şemaları Örnek: Klavyeden girilen bir karakteri 5 kez ekrana yazdıran algoritma ve akış şemasını hazırlayınız. A1 : Başla A2 : Karakteri Giriniz A3 : Sayaç=0 A4 : Karakteri Ekrana Yaz A5 : Sayaç = Sayaç + 1 A6 : Eğer Sayaç < 5 ise A4 e git A7 : Eğer Sayaç >= 5 ise, A8 : Bitir
Örnek – Döngüsel Akış Şemaları Başla Karakter giriniz (K) Sayaç=0 Karakteri Ekrana yazdır H S>=5 E Sayaç=Sayaç+1 Bitir