O R T L G İ M A A Ve Akış şemaları
Bu ders içeriğinde: Neden Algoritma ? Algoritmanın akış diyagramı ile ifade edilmesi Akış diyagramı örnekler Konularına temas edeceğiz.. Not: Bu sunuyu daha iyi anlayabilmek için önceki sunumum «Algoritma ve problem çözmeyi» inceleyiniz…
M Neden algorİtma A T i R O G L A Çözüm Sorun Daha önce de söylediğimiz gibi bir program oluşturulurken kullanılan programlama dilinin Algoritmik olarak programlama diliyle bilgisayara aktarılması gerekir. Algoritmanın etkin bir şekilde oluşturulması Program yazma adımından çok daha önemlidir. Hazırlanan algoritmanın programlama diliyle yazılması işin basit kısmıdır. tıpkı bir bina yapılmadan önce bir plan oluşturulmasına benzer. A Sorun
O R T L G İ A A M ve Akış Diyagramı(şeması) Algoritma Bir sorunu çözebilmek için gerekli olan sıralı mantıksal adımların tümüdür demiştik •Akış Şeması (diyagramı ) ise algoritmanın daha görsel gösterimidir. Yukarıda başlıktaki algoritma yazısında olduğu gibi Çizgiler, Dörtgen, daire vb. geometrik şekillerle algoritmanın gösterilmesini sağlar.
Elips Başla ve Bitir adımları için kullanılır. Akış şemasının başlangıç ve bitiş noktasında yer alır. BAŞLA BİTİR
Paralel Kenar Bir sayı giriniz. Girdiğiniz sayı çift. Giriş ya da Çıkış işlemleri için kullanılır. Örneğin; klavyeden bir sayı girilmesi istenmesi veya ekrana işlem sonucunun yazdırılması gibi.(Oku, Yaz) Bir sayı giriniz. Girdiğiniz sayı çift.
Dikdörtgen A ile B’yi topla. İlk sayı = A Hesaplama ya da Değişkene Değer Atama işlemleri için kullanılır. Örneğin; iki sayıyı topla veya girilen ilk sayıyı A olarak kabul et. A ile B’yi topla. İlk sayı = A
Eşkenar Dörtgen Karşılaştırma, kontrol ya da Karar Verme işlemleri için kullanılır. Örneğin; girilen sayı 5’ten büyük mü? Oyunda başka elma var mı? Kalan süre 0’dan büyük mü? Bir karar verme işlemini temsil eder. (Eğer sayi<0 ise Yaz “Sayı negatif” vb…)
Diğer… Bir işlemin belli bir sayıda veya belli bir koşul doğru olduğu sürece tekrar edilmesini sağlayan döngü komutunu gösteren şekildir. Akış şemasının ilerleme yönünü gösterir. Belgeye, yazıcıya, ekrana çıktı için kullanılır.
Birinci sayıyı giriniz Başla Örnek: İki sayının toplanmasına ilişkin Akış şeması ve Algoritması. Birinci sayıyı giriniz Birinci sayı = A Algoritması 1-Başla 2- Birinci sayıyı gir 3- Birinci sayı = A olsun 4-İkinci sayıyı gir 5-ikinci sayı = B olsun 6- A ile B yi topla 7-sonucunu göster 8- Bitir İkinci sayıyı giriniz İkinci sayı = B A+B Sonucunu Göster Bitiş
Sayı ikiye bölümünden kalanı bul Başla Örnek: Girilen sayının tek mi, çift mi olduğunu gösteren akış diyagramı. Bir sayıyı giriniz Sayı ikiye bölümünden kalanı bul Algoritması 1-Başla 2- Bir sayı giriniz 3- sayının 2 ye bölümünden kalanı bul 4- kalan o ise «sayı çifttir» yaz 5-değilse »Sayı çift «yaz 6- Bitir Kalan 0 mı ? H Tek E Çift Bitiş
E H Girilen iki sayıdan birincisi ikincisinden büyükse Başla Bir sayıyı giriniz (x) Girilen iki sayıdan birincisi ikincisinden büyükse İkisini çarpan küçük veya eşitse toplayıp sonucunu Gösteren programın algoritması Bir sayıyı giriniz(Y) Değişkenler: Birinci sayı = X İkinci sayı = Y Sonuç = S S=X*Y X>Y E Algoritma : 1.Adım : Başla 2.Adım : Birinci sayıyı oku (X) 3.Adım : İkinci sayıyı oku(Y) 4.Adım : X > Y ise S=X*Y ve 6. adıma git 5.Adım : X <= Y ise S= X +Y 6.Adım : S yi göster 7.Adım : Bitir. H S=X + Y S Bitiş
Örnek: Klavyeden girilen bir sayının pozitif, negatif veya sıfıra eşit olma durumunu hesaplayıp yazdıran algoritma ve akış şeması Başla Sayıyı oku Algoritması 1 : Başla 2 : Sayıyı oku (S) 3 : Eğer S > 0 ise “Pozitif” yaz, 4 : Eğer S < 0 ise “Negatif” yaz, 5 : Eğer S = 0 ise “Sıfıra eşit” yaz, 6 : Bitir Pozitif yaz S : 0 S>0 S<0 Negatif yaz S=0 Eşit yaz Bitir
Birinci ve ikinci sayıyı oku Klavyeden girilen 2 sayıyı karşılaştırıp sonucu ekrana yazdıran algoritma ve akış şeması Örnek: Başla 1 : Başla 2 : 1.Sayıyı oku (S1) 3 : 2.sayıyı oku(S2) 4 : Eğer S1>S2 ise 5 : 1.sayı büyük yaz 6 : değilse eğer S2>S1 ise 7 : 2. sayı büyük yaz 8 : değilse eşittir yaz 9 : Bitir Birinci ve ikinci sayıyı oku 1. Sayı Büyük S1 > S2 E H 2. Sayı Büyük S2 > S1 E H Eşit yaz Bitir
O R T L G İ A A SON… M Ve Akış şeması Aykut YILDIZ Bilişim Teknolojileri ve Yazılım Öğretmeni