Algoritmada Döngüler
Döngü tanım olarak başa dönen, sürekli devri daim eden manasındadır.Algoritmada ise birden çok işlemi teker teker yapmak yerine belli bir kural ile devri daim eden ve kuralın dışına çıktıktan sonra da duran metotlardır.Örneğin 0'dan 1000'e kadar 3'e bölünen tek sayıları topla gibi.Bazı durumlarda ise algoritma sonsuz döngüye girebilir.Bunun sebebi döngünün kuralında bir mantık hatası olmasıdır.
sonsuz döngü örnek:
1.başla
2.sayıyı gir(s)
3.s=a
4.s=s+1
5.eğer s>a ise 3.adıma git.
6.dur
Burada sonsuz döngü oluşmaktadır.Bunun sebebi 4.adımdan sonra s'in her zaman a'dan büyük olmasıdır.Bir program sonsuz döngüye girdiğinde işlemciyi yüksek oranda kullanır ve yorar.
Bazen kasıtlı olarak da yapılabilir, şaka programları vb gibi.
Şimdi de en başta verdiğimiz örneğin algoritmasını oluşturalım:
1.başla
2.sayi=0
3.toplam=0
4.mod3=0
5.modcift=0
6.sayi=sayi+1
7.modcift=sayi%2
8.mod3=sayi%3
9.eğer modcift!=0&&mod3==0 ise toplam=toplam+sayı
10.eğer sayi<=1000 ise 6.adıma git
11.sonucu ekrena yaz(toplam)
Burada döngü 6.adım ile 10.adım arasındadır. 10.adımdaki kural bozulana kadar yani sayı binden büyük olana kadar döngü devam eder.
sonsuz döngü örnek:
1.başla
2.sayıyı gir(s)
3.s=a
4.s=s+1
5.eğer s>a ise 3.adıma git.
6.dur
Burada sonsuz döngü oluşmaktadır.Bunun sebebi 4.adımdan sonra s'in her zaman a'dan büyük olmasıdır.Bir program sonsuz döngüye girdiğinde işlemciyi yüksek oranda kullanır ve yorar.
Bazen kasıtlı olarak da yapılabilir, şaka programları vb gibi.
Şimdi de en başta verdiğimiz örneğin algoritmasını oluşturalım:
1.başla
2.sayi=0
3.toplam=0
4.mod3=0
5.modcift=0
6.sayi=sayi+1
7.modcift=sayi%2
8.mod3=sayi%3
9.eğer modcift!=0&&mod3==0 ise toplam=toplam+sayı
10.eğer sayi<=1000 ise 6.adıma git
11.sonucu ekrena yaz(toplam)
Burada döngü 6.adım ile 10.adım arasındadır. 10.adımdaki kural bozulana kadar yani sayı binden büyük olana kadar döngü devam eder.
Yorumlar
Yorum Gönder
Eksik veya yanlış gördüğünüz şeyler varsa yorumda belirtin. Yorumlarınızı eksik etmeyin!