Döngü Komutları

Döngü Komutları

While Komutu

While döngüsünde yer lan komutlar koşul ifadesi döndürdüğü sürece tekrar edilir. Koşul ifadesi false döndürdüğünde döngü biter ve program döngüden sonraki komutla devam eder.
While Döngü Şekli

Aşağıdaki örnekte daha net incelene bilmektedir.

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int sayi;
  6. cout<<“Pozitif bir sayi giriniz:;
  7. cin>>sayi; // Kullanıcının girdiği sayı okunur.
  8.  
  9. while(sayi<=0) //Sayınegatif veya sıfır mı?
  10. cin>>sayi; //Sayı negatif olduğu için bir daha okunur
  11.  
  12. cout<<“Girdiginiz son sayi:<<sayi<<endl;
  13. return 0;
  14. }

Tüm seçme komutlarında olduğu gibi  blok ( { } ) kullanılmadığı zaman seçme komutları ve döngülerin koşulları kendinden sonraki ilk komutu sağlar. Yukarıdaki örnekte sadece cin komutu while koşuluna bağlanmış

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. /*Sonsuz Döngü*/
  6. int i=10;
  7.  
  8. while (i>10)
  9. {
  10. cout<<“i=<<i<<endl;
  11. i++;
  12. }
  13. return 0;
  14. }

i sayısı 10’dan sürekli büyük olacağından i sayısını sürekli aratarak ekrana yazdıracaktır, koşulun aksi bir durum oluşmamış ve while döngüsü sürekli true‘de kalmaktadır.

Do While Komutu

Do-while döngüsünde yer alan komutlar aynı while komutunda olduğu gibi koşul ifadesi true döndüğü sürece tekrar edilir.Do While Döngü Şekli

while komutundan farkı komut gerçekleştirilir, koşul daha sonra kontrol edilir.

  1. #include>iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int sayi;
  6. cout<<“Pozitif bir sayi giriniz:;
  7. cin>>sayi; // Kullanıcının girdiği sayı okunur.
  8.  
  9. do
  10. cin>>sayi;
  11. while(sayi<=0) ; //Sayınegatif veya sıfır mı?
  12.  
  13. cout<<“Girdiginiz son sayi:<<sayi<<endl;
  14. return 0;
  15. }

Görüleceği üzere ilk önce şartsız kullanıcıdan veri alındı, koşul daha sonra kontrol edilmiştir. Dowhile komutunda dikkat edilmesi gereken bir husus while den sonra ( ; ) konulması unutulmamalıdır.

For Komutu

For komutu döngünün kaç kere döneceği belli olan  döngüleri yazarken tercih edilir.

Kullanımı:

for ( ilkDegerAtama; kosul; güncelleme)

komutFor Döngüsü Şekli

Değişken tanımları if ve while komutlarının koşul ifadesi hariç programın herhangi bir yerinde tanımlanabilir.For Komutu Çalışması

for ( int i=1; i<10; i++)…. // for da böyle bir tanımla vardır

ifint z>4 )…  // Hata böyle bir tanımlama yoktur

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int sinavNot,enYuksek=0;
  6.  
  7. for ( int sayi=1; sayi<=3; sayi++;)
  8. {
  9. cout<<“Ogrenci notunu giriniz:;
  10. cin>>sinavNot;
  11. if (sinavNot>enYuksek)
  12. enYuksek=sinavNot;
  13. }
  14.  
  15. cout<<“En yuksek not:<<enYuksek<<endl;
  16. return 0;
  17. }

for döngüsünde aşağıdaki örnekte görüldüğü gibi ilk atama ve güncelleme komutlarında birden fazla komuta yer verebiliriz.ForDöngüsü Örneği

Break ve Continue Komutları

Daha önce break komutundan bahsetmiştik. Bir döngü içinde kullanılan break komutu o döngüden çıkmamızı ve döngüden sonra gelen komutlarla programa devam etmemizi sağlar.

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. for ( int i=1; i<=10; i++)
  6. {
  7. if (i==5)
  8. break;
  9. cout<<i;
  10. }
  11. cout<<“Dongu bitti”;
  12. return 0;
  13. }
  14. /* Çıktı: 1 2 3 4*/

10 kadar olan sayılarda 4 de kadar olan sayıları yazdı 5 gelince döngüden çıktı.

continue komutu ise döngüde geri kalan komutları yapmadan bir sonraki dönüşe atlar.

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. for ( int i=1; i<=10; i++)
  6. {
  7. if (i==5)
  8. continue;
  9. cout<<i;
  10. }
  11. cout<<“Dongu bitti “;
  12. return 0;
  13. }
  14. /* Çıktı: 1 2 3 4 5 7 8 9 10*/

10 kadar olan sayıların hepsi yazdı fakat 5’i atladı break‘ten farkı break 5 te döngüden çıktı continue 5 ‘iatladı devam etti.

İç İçe Döngü

Daha önce örneğini gördüğümüz iç içe döngülere bir örnekte burada verelim.

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. char harf;
  6. int sayi;
  7. cout<<“Noktayla biten 2 cumleyi giriniz.”<<endl;
  8. for ( int i; i<=2; i++)// Döngü satırlar için 2 kere döner
  9. {
  10. sayi=0;
  11. cin>>harf; //Harf okunur
  12. while (harf!=’.’) // İç döngü okunana kadar döner
  13. {
  14. if ((harf==’A’)||(harf==’a’)) // Harf A veya a ise
  15. sayi++; // A sayisi arttırlır
  16. cin>>harf; // Harf okunur
  17. }
  18. cout<<i<<“.cumlede<<sayi<<” tane A harfi var. “<<endl;
  19. }
  20. return 0;
  21. }

Kimler Neler Demiş?

  Abone ol  
Bildir