Algoritmanın bir problemi çözebilmek için izlenmesi gereken basamaklar serisi olduğu daha önce söylemiştik. Bizler için bu problemler günlük yaşantı problemleri değilde programcılık mantığı ile çözülmesi gereken problemlerdir.
Biz bu problemleri basitten karmaşığa olarak sıralandıracaz. Bu yüzden önce temeller adı altında basit örneklerle algoritma ve akış diyagramını anlamanızı sağlıyacaz. Daha çok doğrusal akış şemaları karşınıza çıkacak bu bölümde. Hiç merak etmeyin son derece kolay anlaşılacağından eminim 🙂
Örnek 1: Klavyeden girilen 3 sayıyı toplayan ve ortalamasını alarak sonuçları ekrana yazdıran programın algoritmasını ve akış diyagramını tasarlayınız.
Şimdi bu örneği çözmeden önce şöyle bir düşünelim. Bu problemin çözümü için öncelikle elimizde verilerin olması gereklidir. yani 3 adet sayı girilmesi gerekli. sayılar girildikten sonra sayılar toplanacak çıkan toplam 3 e bölünüp ortalaması bulunacak ve sonuçlar ekrana yazdırılacak. Şimdi bu düşündüklerimizi uygulayalım…
1. Değişkenler
x=Birinci sayı
y=ikinci sayı
z=üçüncü sayı
top=sayıların toplamı
ort=sayıların ortalaması
Şimdi değişkenlerimizi yazdık. Artık adım adım kafamızda tasarladığımız basamakları algoritma içerisinde yazalım.
Adım 1-Başla
Adım 2-Birinci sayıyı oku ve x ‘ e kaydet.
Adım 3-İkinci sayıyı oku ve y ‘ ye kaydet.
Adım 4-Üçüncü sayıyı oku ve z’ ye kaydet.
Adım 5-top=x+y+z işlemini yap.
Adım 6-ort=top/3 işlemini yap.
Adım 7-top ve ort değerlerini ekrana yazdır.
Adım 8-Bitir
Şimdide algoritmadaki adımları akış diyagramına aktaralım.
Örnek 2: Şimdiki örneğimizde biraz geometrik şekilleri anımsayalım ve bazı hesaplamalar yapalım.
Sırasıyla, bir kenar uzunluğu verilen karenin alanını ve çevresini , bir kısa kenar ve bir uzun kenar uzunluğu verilen dikdörtgenin alanını ve çevresini, yine yarıçapı verilmiş bir dairenin alanını ve çevresini hesaplayan programın algoritmasını ve akış diyagramını tasarlayınız.
Problem biraz daha büyüdü sanırım. Ama meraklanmayın problemi aşama aşama çözmeye başladıkça aslında o kadar da zor olmadığını sizde göreceksiniz.
Önce değişkenlerimizi yazalım:
Değişkenler
Kare için:
kk: karenin bir kenar uzunluğu
ka:karenin alanı
kc:karenin çevresi
Dikdörtgen için:
dkk:Dikdörtgenin kısa kenar uzunluğu
duk:Dikdörtgenin uzun kenar uzunluğu
dia:Dikdörtgenin alanı
dic:Dikdörtgenin çevresi
Daire için
r:Daire nin yarıçap uzunluğu
da:Dairenin alanı
dc:Dairenin çevresi
Önceki örneğimize göre değişken sayısı arttı. Değişkenlere isim verirken türkçe karakter kullanmamaya özen gösterin. Ayrıca bazı kelimeler programlama dillerinde reserved(rezerv edilmiş ayrılmış) kelimelerdirç Örneğin abs matematiksel bir fonksiyondur.Çoğu programlama dilinde bu fonksiyon kütüphanelerde mevcuttur.
Şimdi ise algoritmamızı yazalım.
Adım 1-Başla
Adım 2-kk,dkk,duk,r değerlerini oku
Adım 3-ka=kk*kk , kc=kk*4 (Karenin alanını ve çevresini bulan formüller)
Adım 4 dia=dkk*duk, dic=2*(dkk+duk) (Dikdörtgenin çevresini ve alanını bulan formüller)
Adım 5 da=3.14*r*r , dc=2*3.14*r (Dairenin alanını ve çevresini bulan formüller)
Adım 6 ka, kc, dia, dic, da, dc değerlerini ekrana yazdır.
Adım 7 Bitir.
Burada her algoritmanın bir başlangıca ve bir bitişe sahip olduğunu fark etmişsinizdir.
Evet sırada akış diyagramımız var.
Örnek 3: Bir kırtasiye de kalem defter ve silgi satışı yapılmaktadır. Birim fiyatları ve kaç adet alındığını klavyeden girilerek bir müşterinin ne kadar ödemesi gerektiğini hesaplayan programın algoritmasını ve akış diyagramını çiziniz.
Değişkenler
Ürünlerin Satış Fiyatı
Kalemin Fiyatı : k
Defterin Fiyatı: d
Silginin Fiyatı: s
Alınan Ürün Miktarları
Kalem Miktarı: k1
Defter Miktarı: d1
Silgi Miktarı: s1
Toplam Ücret: t
Algoritma
Adım 1. Başla
Adım 2. Kalemin Fiyatını giriniz. (k)
Adım 3. Defterin Fiyatını giriniz.(d)
Adım 4. Silginin Fiyatını giriniz.(s)
Adım 5. Alacağımız Kalem miktarı(k1)
Adım 6. Alacağımız Defter miktarı(d1)
Adım 7. Alacağımız Silgi miktarı(s1)
Adım 8. Ödenecek toplam ücreti hesapla t:=(k*k1)+(d*d1)+(s*s1)
Adım 9. t değerini ekrana yaz.
Adım 10.Bitir
Akış Diyagramı
Örnek 4: Klavyeden girilen vize notunun %40′ ını final notunun %60 ‘ ını alarak ortalama notu bulduran programın algoritmasını ve akış diyagramını tasarlayınız.
Değişkenler
Vize notu: v
Final notu: f
Ortalaması : ort
Algoritma
adım 1. Başla
adım 2. Vize ve final notlarını klavyeden giriniz. (v,f)
adım 3. Ortalamayı hesapla ort=(v*0.4)+(f*0.6)
adım 4. Ort değerini ekrana yaz.
adım 5. Bitir
Akış Diyagramı
Örnek 5
Bir baba ve oğlunun yaşları farkını bulan programın algoritmasını ve akış diyagramını tasarlayınız.
Değişkenler
babanın yaşı: b
oğlunun yaşı: o
yaşlar farkı: fark
Algoritma
Adım 1: Başla
Adım 2: Babanın yaşını gir.(b)
Adım 3: Oğlunun yaşını gir.(o)
Adım 4: fark=b-0 işlemini yap
Adım 5: fark değişkenini ekrana yaz.
Adım 6: Bitir
Akış Diyagramı
Evet bu temel örnekler bize doğrusal akış diyagramını sanırım yeterince açıklamıştır. Doğrusal denmesinin sebebi programın sürekli olarak tek yönde işlemesinden dolayıdır. Programda mantıksal bir karşılaştırma veya karar verme veya döngüsel bir işlem yapılmadığı için sürekli olarak tepeden aşağıya doğru işlemektedir. Diğer makalemizde mantıksal akış şemalarından devam edicez. Şimdilik herkese iyi çalışmalar…