Algoritma ve Akış Diyagramı Örnekleri ( Döngülü Akış Diyagramları )

repeat-businessÖnceki makalelerimizde doğrusal ve mantıksal akış diyagramlarından bahsettik. Bu makalemizde ise programların vazgeçilmezi döngülü akış diyagramlarından bahsedicez.

Öncelikle döngü kavramını açıklayalım: Döngü bir işlemin birden fazla tekrarlanması işlemine denir. Bu işlemin bir başlangıç değeri ve bir bitiş değeri vardır. Ayrıca tekrar edilmesi istenen ifade döngü blogunun içerisinde yer alır.

Her zaman izlediğimiz yöntem örneklerle açıklamak olduğuna göre ne duruyoruz hemen örneklere geçelim…

Örnek 1: 1 den 100 e kadar olan sayıların toplamını bulup sonucu ekrana yazan işlemin  algoritmasını ve akış diyagramını tasarlayınız.

Değişkenler 
sayıcımız: x
toplam değeri :t

Algoritma
Adım 1: Başla
Adım 2: Döngüyü başlat (x=1 den 100 e kadar)
Adım 3: t=t+x işlemini yap.
Adım 4:Döngüyü sonlandır.(x değeri 100 e ulaştığı zaman)
Adım 5: Toplam değerini yaz.
Adım 6: Bitir.

Akış Diyagramı
algo13

Örnek 2: 1 den 100 e kadar olan çift sayıların toplamını veren programın algoritmasını ve akış diyagramını tasarlayınız.

Şimdi bu soruyu çözmeden önce döngülerin her zaman sayma işlemini birer birer yapmadığını bunu değiştirebileceğimizi hatırlatalım.

Değişkenler
toplam : t
sayıcımız: x

Algoritma
Adım 1: Başla
Adım 2: Döngüyü başlat (x=2 den 100 e kadar 2 şer 2 şer arttır.)
Adım 3: t=t+x işlemini yap.
Adım 4: Döngüyü bitir. (x değeri 100 e ulaştığında)
Adım 5: Toplam değerini yaz.
Adım 6: Bitir.

Akış Diyagramı

algo14

Şimdi akış diyagramını açıklayacak olursak. x değeri 2 değerinden başlayarak 2 şer 2 şer artıyor bu esnada döngü içerisindeki ifade t=t+x yani toplam değişkeni sürekli olarak oluşan x değerlerini toplayarak tutuyor.  Döngü dışına çıkacak değere ulaştığında ise burada değer 101  t değeri yazdırılarak program bitirilir.

Peki eğer tek sayıların toplanması gerekseydi ne yapardık?  Bunun cevabını vermiyorum siz düşünün 🙂

Örnek 3: Bir sınıfta 20 öğrenci vardır.  Bu öğrencilerin bir sınavdan aldıkları notların (0-100) ortalamasını (Sınıf ortalamasını)  bulan programın algoritmasını ve akış diyagramını bulunuz.

Değişkenler
sayacımız: x
not: n
notların toplamı: t
ortalaması: ort

Algoritma
Adım 1:  Başla
Adım 2:  Döngüyü başlat.(x=1 den 20 ye kadar)
Adım 3:  Not değerini giriniz. (n)
Adım 4:  t=t+n
Adım 5:  Döngüyü sonlandır. (x değeri 20 ye ulaştığında)
Adım 6: ort=t/20
Adım 7: ort değerini ekrana yaz.
Adım 8: Bitir.

Akış Diyagramı

algo15

Örnek 4 : Girilen n adet sayının:
a-) 5 ile bölünebilen sayıların toplamı ve adeti
b-) 3 ile bölünebilen sayıların toplamı ve adeti
c-) 2 ile bölünebilen sayıların toplamı ve adeti

Değişkenler
Sayı adedi : n
Girilen sayı : s
Sayacımız: x
5 ile bölünebilenlerin sayısı : b
5 ile bölünebilen  sayıların toplamı: btop
3 ile bölünebilenlerin sayısı : c
3 ile bölünebilen sayıların toplamı:ctop
2 ile bölnebilenlerin sayısı: k
2 ile bölünebilen sayıların toplamı : ktop

Algoritma
Adım 1:
Başla
Adım 2: Girilecek sayı adedini giriniz. (n)
Adım 3: x=1 , btop=0, ctop=0, ktop=0, b=0, c=0, k=0
Adım 4: 1 den n’ ye kadar döngüyü başlat(x=1,x<n,x=x+1)
Adım 5: Sayıyı gir.(s)
Adım 6: eğer s mod 5=0 ise 5 e bölünebilir. b=b+1, btop=btop+s
Adım 7: eğer s mod 3=0 ise 3 e bölünebilir. c=c+1, ctop=ctop+s
Adım 8: eğer s mod 2=0 ise 2 e bölünebilir. k=k+1, ktop=ktop+s
Adım 9: Döngüyü sonlandır.(x değeri n den büyük olduğunda değilse adım5 den devam eder.)
Adım 10: Ekrana (b,c,k,btop,ctop,ktop) değerlerini yaz.
Adım 11: Bitir.

Akış Diyagramı

algo201

Örnek: Verilen bir mesajı istenen sayıda ekrana yazdıran programın algoritmasını ve akış diyagramını tasarlayınız.

Değişkenler
Verilen mesaj : v
Sayacımız: a
Tekrar sayısı: t

Algoritma
A1: Başla
A2: Verilecek mesajı gir.(v)
A3: İstenen tekrar sayısını gir.(t)
A4: Döngüyü başlat (a=1 den t ye kadar)
A5: Ekrana yazdır. (v değerini)
A6: a<t ise A4 adımına geri dön. Değilse döngüyü sonlandır.
A7: Bitir.

Akış Diyagramı

algo21

 Örnek : Klavyeden girilen şifre doğrultusunda(Şifre BLS),  girilen bir sayının pozitif olup olmadığını kontrol eden ve sonuç pozitif ise girilen sayının faktörileyini alan programın algoritmasını ve akış diyagramını bulunuz.

Şimdi bu örneğimiz de şifre yanlış girilirse program sonlandırılacak. Ayrıca girilen sayı 0 dan küçük ise yani negatif ise faktöriyel işlemi yapmıyacak. Bu arada bir sayının faktöriyeli demek sayının 1 değerine kadarki tüm değerlerinin birbiri ile çarpılması örneğin 4!=4*3*2*1 gibi.

Değişkenler
Girilen şifre: a
Faktöriyel sonucu fak
Şifremiz: BLS
Girilen sayı: b
Döngü Başlangıcı: x

Algoritma
A1:  Başla
A2: Şifreyi giriniz. (a); fak:=1
A3: Eğer (a<>’BLS’ ) ise Ekrana (‘Şifreyi yanlış girdiniz.’) yaz ve programı bitir.[A… git.]
A4: Ekrana (‘Şifreyi doğru girdiniz.’) yaz.
A5: Bir sayı giriniz. (b)
A6: Eğer (b<0) Ekrana (‘Sayı negatiftir. ‘) yaz ve programı bitir.[A… git.]
A7: Eğer (b>0) Ekrana (‘Sayı pozitiftir.’) yaz.
A8: Döngü başlangıcı x=1 den b’ ye kadar.
A9: fak=fak*x
A10: Döngü sonu
A11: Ekrana yaz.(fak)
A12: Bitir.

Akış Diyagramı
algo22

Umarım örneklerler açıkladığımız döngülü akış diyagramları konusu anlaşılmıştır. Herkese iyi çalışmalar.

Join the Forum discussion on this post

blank

Yazar: kacarozgur

Özgür Kaçar sitemizde 38 yazı eklemiş...

Share