Algoritma ve Akış Diyagramı Örnekleri ( Döngülü Akış Diyagramları )
Ö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ı

Ö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ı

Ş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ı

Ö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ı

Ö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ı

Ö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ı

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!
- Algoritma ve Akış Diyagramı Örnekleri (Doğrusal Akış Diyagramları)
- Algoritma ve Akış Diyagramı Örnekleri ( Mantıksal Akış Diyagramları)
- Akış Diyagramları ( Flow Chart )
- Algoritma nedir ?

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…
ALgoritmadan GiRiLen
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..???
@hasan
bende doğru çalışıyor kardeşim sırasıyla yazayım göndereyim
@mevlüt
ben yapayım inş geç olmamıştır yeni gördüm kardeş
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
s.a millet ;
x=a++; işleminin eş degerini(aynı sonuc ureten),++ operatorunu kullanmadan nasıl yapıcaz bilen varsa yazabilirmi acill !!! ??
@kübra
hıcbırsey anlamıyorum bundan.ALLAH YARRDIMCIMIZ OLSUN.NE YAPACAGIM SINAWDA HICBIRSEY ANLAMIYORUM.ALLAH YARDIMCIMIZ OLSUN
@hasan
biri bana bunu ogretsın.bence cok sacma bır ders
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
bencede çok saçma bir ders
@kübra
valla bilmiyorum ama mutlaka bulursun özur yani ama başka sorun varsa yaparım
@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.
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
CASE İLGİLİ OLANLARI ÖRNEK VER Mİ
Fidan hocanın sorduğu soru
çooooooooook zor ya
şimdi yazılıya gircez ve ne yapacağımı bilmiyoruum.s
ÇOK ZOR VE KARIŞIK
@ayatullah
BENCEDE GEREKSİZ VEDE SAÇMA HİÇBİRŞEY ANLAŞILMIYOR
gayet düzgün bir şekilde açıklanmış, üzerinde durmuyor olabilirsiniz
hiçbirşeyy anlaşılmıirrrrrrrrrr
EVET YAA BENCEDE COK ZOR