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

Yazar: kacarozgur

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




Benzer Konularımıza da Göz Atın!

coded by nessus
Share
  • osman cavuş

    bunu yazanın bubanesini sikem

  • http://www.dahiweb.com selin simge

    çok güzel olmuş bravo !¡!

  • http://memelijoe farfaraerds

    algoritmada şekilleri başka şekilller yapsak olur mu

    • http://www.dahiweb.com/siteye-destek-verenler/mustafa-sadoglu Mustafa Şadoğlu

      benim bildiğim olmaz… standart bunlar kabul edilmiş… ama bana sorarsanız algoritma dersi en saçma ve lüzumsuz bir ders… o emeği programlama üzerinde örneklerle harcansa daha verimli olunur diye düşünüyorum.. şahsi kanaatim…

  • anonymous

    hiç yaptıklarımıza benzemiyor

  • http://facebook mitat

    iki tam sayının ve bunu 3 ve 4 bölünüp bölünmeyecegini bulan algoritma

    (LÜTFEN YAPABİLEN VARSA ŞU SORUYU YAPIN)

  • İlayda

    Flowcharttan performans ödeevim var son günüm . 2 örnek daha lazım yardımcı olun . akış dıyagramı cart curt değil . örneğin beşe tam bölünebilen sayıların toplamı gibi..

  • BERNA

    son örnekte karar yapısı ile döngü bir arada mı kullanılmıs?

  • http://www.horozogullari.com Beylikdüzü Aygaz

    Teşekkürler bu bilgiler için. Vize haftasında çalışmama çok yararı oldu. İnşallah yüksek not alırım. kolay gelsin iyi çalışmalar.

  • fatma

    10 luk tabandaki bir sayıyı 2 lik tabana dönştrn algortmayı çizer msnz lütfenn

  • Tuncay

    10luk tabandaki bir sayıyı 2lik tabana dönüştüren algoritmayı yapabileen

  • fatma

    girilen n tane sayıdan 5 ,3, 2 ile bölümlernn ayrı ayrı toplamını adetini bulan algortmayı yapar msnz lütfennn

  • http://google SEDAT

    kalvyeden girilen 50 adet sayının 10′dan büyük olanlarının sayısını veren programın akış diyagramını çizer misiniz

  • http://google SEDAT

    ya benimde sorularım var kim cevaplayabilir

  • http://www.hiuf.net Hiuf

    güzel paylaşım olmuş.teşekkürler..

  • fatma nur kuş

    TŞK. örnekler çok kolayy ödev için işimi kolaylaştırdı :)

  • http://f.u.r.k.a.n.9.8@hotmail.com Furkan

    Daha fazla örnek varmı cok lazım,

  • http://facebok.com/yigit serdar

    sitenizi çok beğendik algoritma örnekleri çok güzel

  • fatih

    beyler su sor.uda k.afayı yic.em acil cevap lazım yardımcı olana tşekkürler(amacım kimseye ödev yaptırmak değil sadece su algoritmayı anlamak)30 günlük hava sıcaklıklarını klavyeden isteyen ve ortalama sıcaklığı hesaplayan programın algoritma yada akış diyagramını bulun. (yardımcı olandan a.llah razı olsun kardeşlerim )

  • http://www.dahiweb.com/ fatih

    beyler su soruda kafayı yicem acil cevap lazım yardımcı olana tşekkürler(amacım kimseye ödev yaptırmak değil sadece su algoritmayı anlamak)

  • ayşe

    harikkkkkkkkaaaaaaaaaaaaaa

  • büş

    harikaaaaaaa cok teşekkurler kim hazırladıysa ellerine saglık :)

  • http://oyunstret.tr.gg Kadir Toprak

    Siteniz programlama okuyan oğrencilere ve öğrenmek isteyenlere yararlı bir sitedir.Bilgiler gerçekten işime yaradı.Site sahibine ve çalışanlarına teşekkür ederim.