DÖNGÜ DEYİMLERİ Programın belirli bir kesiminin birden fazla tekrarlanması işlemine DÖNGÜ denir. Bir değişken belirli bir değerden başlayıp, son değeri alıncaya kadar belirtilen işlemler tekrarlanır.
DÖNGÜ DEYİMLERİ Etiket: ifade 1; ifade 2; ............ ifade n; if (koşul) goto Etiket; ............... koşul doğru >>>
DÖNGÜ DEYİMLERİ Basla: if (koşul) goto Son; ifade 1; ifade 2; ............ ifade n; goto Basla; Son: ............... koşul doğru >>>
DÖNGÜLER Döngüler Do While While For Sonsuz Döngüler İç içe döngüler
Do ... While Döngüsü İşlem A İşlem B koşul DO İşlem A; DO { İşlem A; WHILE (Koşul ); DO { İşlem A; İşlem B; .......... } WHILE (Koşul ); İşlem A doğru İşlem B koşul <<<
Do ... While Döngüsü DO { döngü işlemleri.. } WHILE (Koşul ); Koşul doğru olduğu sürece döngü işlemlerinin yapılması sağlayan komuttur. Koşul yanlış olduğu durumda döngü terk edilir. Döngü içindeki işlemler şart doğru olmasa bile en az bir kez yapılır.
Do ... While Döngüsü sayac = 0 DO{ PRINT sayac sayac = sayac + 1 } WHILE (sayac <= 2) ; Ekran çıktısı: 1 2 sayac <= 2 döngünün koşul kısmıdır.Bu koşula göre döngü çalışmaya devam eder. Sayac 3 olduğu zaman döngü sona erer.
While Döngüsü koşul İşlem A İşlem B İşlem C WHILE (Koşul ){ } WHILE (Koşul ){ İşlem A; İşlem B; .......... } İşlem C; ........... yanlış doğru İşlem A İşlem B İşlem C <<<
Do ... While – While WHILE ifadesinin çalışabilmesi için koşulun başlangıçta mutlaka doğru olması gerekir. DO ... WHILE döngüsü koşulu en son test ettiği için koşul sağlansada sağlanmasada mutlaka bir kez çalışır.
Do ... While While clrscr(); clrscr(); int A = 0; int A = 0; WHILE (A < 10) { A=A+1; printf(“%d”, A); } Output: 1 2 3 4 5 6 7 8 9 10 clrscr(); int A = 0; DO { A = A + 1; printf(“%d”, A); } WHILE (A < 10); Output: 1 2 3 4 5 6 7 8 9 10
Do ... While While clrscr(); clrscr(); int A = 0; int A = 0; DO { printf(“%d”, A); A = A + 1; } WHILE (A < 10); Output: 1 2 3 4 5 6 7 8 9 clrscr(); int A = 0; WHILE (A < 10) { printf(“%d”, A); A=A+1; } Output: 1 2 3 4 5 6 7 8 9
Do ... While While clrscr(); clrscr(); int A = 10; int A = 10; A = A + 1; printf(“%d”, A); } WHILE (A < 10); clrscr(); int A = 10; WHILE (A < 10) { A=A+1; printf(“%d”, A); } Output: Output: 11
Örnekler 1- 10 ile 30 arasındaki sayıları ekrana yazdıran program 2-10 ile 30 arasındaki sayıları ikişer ikişer ekrana yazdıran programı yazınız. 3-10 ile 30 arasındaki 3’e veya 5’e tam olarak bölünebilen sayıları ekrana yazdıran program 4-10 ile 30 arasındaki 3’e ve 5’e tam olarak bölünebilen sayıları ekrana yazdıran program 5- Kullanıcıdan sayılar isteyen, kullanıcı 0 girince çıkan program
Örnek Kullanıcıdan sayılar isteyen, girilen en büyük sayıyı bulan ve kullanıcı 0 girince çıkan program clrscr(); int max=0, sayi; do{ printf(“Sayı giriniz:\n”); scanf(“%d”,sayi); if (sayi > max) max = sayi; } while (sayi != 0); printf("En buyuk sayi: %d\n”, max); getch();
For Döngüsü koşul İşlem A İşlem B İşlem C Belli sayıda çalıştırmak için kullanılır. Döngü sayısını denetlemek için bir başlangıç ve bir bitiş değeri belirtilmektedir. Normal durumda sayaç birer birer artmaktadır. yanlış doğru İşlem A FOR (int i = başla ; koşul; i=i+artış miktarı) { işlem A; işlem B; ....... } işlem C; İşlem B İşlem C
For Döngüsü Örnek FOR (int i = 0; i<=15; i=i+2){ textcolor(i); cprintf(“Renk numarası %d \r\n” ,i); } FOR (int i = 0; i<=15; i++){ textcolor(i); cprintf(“Renk numarası %d \r\n” ,i); }