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

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

Cuma, 01 May 2009 yorum ekle yorumlara git

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.




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

coded by nessus
Share


Categories: Algoritma Tags:
Bu kategorideki rastgele diğer yazılar
  • » Akış Diyagramları ( Flow Chart )
  • » Algoritma nedir ?
  • » Algoritma ve Akış Diyagramı Örnekleri ( Mantıksal Akış Diyagramları)
  • » Algoritma ve Akış Diyagramı Örnekleri (Doğrusal Akış Diyagramları)



    1. kübra
      Pazartesi, 31 Eki 2011 zamanında 20:36 | #1

      ben bunu anladım ne kadarda uğraşsam yapamycam size bir sorum olacak 1den 100 e kadar olan tek sayıların atoplamını bulan programın akış diyagramı nasıldır…

    2. Çarşamba, 02 Kas 2011 zamanında 11:43 | #2

      ALgoritmadan GiRiLen

    3. Perşembe, 03 Kas 2011 zamanında 19:36 | #3

      soru sorucam arkadslar cvp yazarsanız sevinirim..

      soru : 1 den 150 ye kadar olan tek sayıları toplayan cift sayıları carpan akış diyagramını olustrunuz..???

    4. mevlüt
      Cumartesi, 05 Kas 2011 zamanında 17:21 | #4

      @hasan
      bende doğru çalışıyor kardeşim sırasıyla yazayım göndereyim

    5. mevlüt
      Cumartesi, 05 Kas 2011 zamanında 17:37 | #5

      @mevlüt
      ben yapayım inş geç olmamıştır yeni gördüm kardeş

    6. mevlüt
      Cumartesi, 05 Kas 2011 zamanında 17:42 | #6

      5 sayısının faktöriyeli
      başla
      sayac=1
      fak=1
      sayac=sayac+1
      fak=fak*sayac
      (burası karar)sayac>=5(burası evet kolu-buraya döngü yaparak sayac=sayac+1 e gönder)
      (burası hayır kolu-çıkış yap sayinin faktöriyeli;fak)
      bitir

    7. ilkay
      Perşembe, 10 Kas 2011 zamanında 22:06 | #7

      s.a millet ;
      x=a++; işleminin eş degerini(aynı sonuc ureten),++ operatorunu kullanmadan nasıl yapıcaz bilen varsa yazabilirmi acill !!! ??

    8. hasan kartal
      Cuma, 11 Kas 2011 zamanında 14:45 | #8

      @kübra
      hıcbırsey anlamıyorum bundan.ALLAH YARRDIMCIMIZ OLSUN.NE YAPACAGIM SINAWDA HICBIRSEY ANLAMIYORUM.ALLAH YARDIMCIMIZ OLSUN

    9. hasan kartal
      Cuma, 11 Kas 2011 zamanında 14:47 | #9

      @hasan
      biri bana bunu ogretsın.bence cok sacma bır ders

    10. ayşenur
      Salı, 15 Kas 2011 zamanında 22:33 | #10

      ya iki dizinin toplamının akış diyagramı lazıımm banaa ayrıca çarpraz carpımının şeması da lazım napıcam bn :S

    11. Cuma, 18 Kas 2011 zamanında 10:12 | #11

      bencede çok saçma bir ders

    12. Salı, 22 Kas 2011 zamanında 08:58 | #12

      @kübra
      valla bilmiyorum ama mutlaka bulursun özur yani ama başka sorun varsa yaparım

    13. moonlife
      Salı, 22 Kas 2011 zamanında 12:31 | #13

      @hasan

      int teksayilar, ciftsayilar;
      for(i=1; i<151; i++) //1'den 150'ye kadar sayar
      {
      if(i%2 == 1) //Sayı tek sayı ise topla
      {
      teksayilar += i;
      }
      if(i%2 == 0) //Sayı çift sayı ise çarp
      {
      ciftsayilar *= i;
      }
      }
      //Burada da teksayilar ve ciftsayilar degişkenlerinin değerlerini ekrana yazdır.

    14. yazilimci
      Salı, 29 Kas 2011 zamanında 23:18 | #14

      Bu algoritma çözümleri için teşekkür ederim. Aradığım Soruları Buldum
      Sitelerde gezerken
      http://www.yazilimhocasi.com/f9-sayi-algoritmalari-matematiksel-algoritmalar.html
      adresine rastladım videolu anlatım yapmış adamlar incelemenizde fayda var

    yorum sayfaları
    1 2 3 4 648
    1. şimdilik geri bağlantı yok

    *
    Bu bir spamlara karşı koruma yazılımıdır, resimde gösterilen güvenlik kelimesi girilmelidir. Kelimeyi sesli duymak için resmi tıklayın
    Anti-spam kelimeyi duymak için tıklayın