C++ For Döngüsü

For Döngüsü Kullanım Amacı

For döngüsü, belli işlemlerin belli sayıda tekrar tekrar gerçekleştirilmesi gereken durumlarda kullanılır.

Konuyu bir yazıcıdan çıktı alma örneği ile açıklamaya çalışalım.

Bir program yazmak ve bu programa istenilen bir belgeyi istenilen sayıda yazdırmak gibi bir amacınız olsun. Programa belgeyi gönderip, şu sayıda kopya yazdır demek ve programında bu talebi yerine getirmesini istiyorsunuz.

Yazdırma işlemi için de BelgeyiYazdir isimli bir komutun olduğunu farzedelim.

İstenilen belgeyi istenilen sayıda nasıl yazdırabilirsiniz?

Kullanıcı kaç kopya istemiş ise istenilen adette BelgeyiYazdir komutunun yürütülmesi gerekir.

Kullanıcı beş adet kopya da istiyor olabilir. On adet te istiyor olabilir. Yani yazdırılmak istenilen sayfa sayısı ihtiyaca göre değişkenlik göstermektedir.

Peki yazdırma sayısı belli olsaydı. Alt alta birden fazla sefer yazdır demek yeterli olabilir diyebilirsinizJ. Ancak bu yöntem de pek kullanılışlı bir yöntem değildir.

Örneğin beş defa yazdırmak için beş defa alt alta BelgeyiYazdir demek yeterli olabilir. Ancak 1000 adet kopya almanız gerektiğinde 1000 defa BelgeyiYazdir demek istenmeyen bir durumdur.

Yazdırma adedi ihtiyacı arttıkça, alt alta yazılması gereken satır sayısı da artacaktır.

İşte for döngüsü tam da yukarıdaki örneklerde karşılaşılan problemlerin çözümünde kullanılabilecek bir özelliktir.

Eğer for döngüsünü doğru yazabilirseniz, istenilen sayıda işlemi tekrar tekrar gerçekleştirmesini sağlayabilirsiniz.

Peki for döngüsü nasıl yazılır ve nasıl çalışır.

Şekil-1: C++ da For Döngüsü Çalışma Biçimi

Şekil-1 de de görüldüğü gibi, for döngüsü bir başlangıç(Sayac=0) ve bir de bitiş değerine(Sayac<5) ihtiyaç duymaktadır. For döngüsü süslü parantezler arasındaki her bir turu tamamladığında ise başlangıç değerini arttırma veya azaltma yöntemleri ile başlangıç değerini değiştirir. Bu sayede for döngüsünün sonsuza kadar devam etmemesi sağlanmış olur.

Şekil-1 de bir arttırma tercih edilmiş. Bu da demek oluyor ki, Sayac isimli değişken sıfırdan başlatılacak ve her bir for turundan sonra birer birer arttırılacaktır. Bu işlem şart ifadesi olan Sayac<5 sağlandığı sürece de devam edecektir.

Sayac değerinin 5 veya daha fazla bir değere sahip olması durumunda ise döngü sonlandırılacaktır.

Şimdi ise çeşitli örnekler ile konuyu pekiştirmeye çalışalım.

Soru-1: Döngü özelliklerini kullanmadan klavyeden girilen beş sayının toplamını hesaplayan programı yazınız

 

Soru-2: for döngüsü kullanılarak klavyeden girilen beş sayının toplamını hesaplayan programı yazınız

 

Soru-3: 1 den 20 ye kadar olan sayıları toplamını yazan programı yazınız

 

Soru-4: 1 den 20 ye kadar olan çift sayıları ekrana yazdıran programı yazınız

 

Soru-5: Klavyeden girilen bir sayının faktoriyelini hesaplayan programı yazınız

 

Soru-6: 0 dan 100 kadar olan sayılardan 5 ve 5 in katı olan sayıları mod operatörünü kullanmadan ekrana yazdırınız

 

Soru-7: Her satırda 15 tane * karakteri ve toplamda 15 satırdan oluşan programı iç içe for döngüleri ile gerçekleştiriniz

Şekil- : İstenen Ekran Çıktısı

 

Soru-8: Her satırda 1 sayı fazla yazacak şekilde toplamda 15 satır yazı yazacak programı yazınız

Şekil- :İstenen Ekran Çıktısı

 

Soru-9: 1 den 5 kadar olan sayılardan çarpım tablosunu oluşturunuz

Soru-9: Aşağıda ekran görüntüsü görülen çıktıyı for döngüsü yardımı ile yapınız

Soru-10: Aşağıda ekran görüntüsü görülen çıktıyı for döngüsü yardımı ile yapınız

 

Soru-11: Aşağıda ekran görüntüsü görülen çıktıyı for döngüsü yardımı ile yapınız

 

Osman SELVİ

C++ For Döngüsü” için 4 yorum

  1. 0 ile klavyeden girilen her sayının sayı değeri kadar ekrana yazdıran programı yazarmısınız

    1. Sevgili Ozan,
      Üzülerek bu soruna cevap veremeyeceğim. Ders ödevi türünden sorular sizin çözmeniz için verilmiştir. Benim çözmem doğru olmaz

  2. Merhabalar 1 ve 10 arası değerler için dairenin alanı ve çevresini hesaplayan program yazıyorum da
    alan ve çevre hesaplama var
    if else değilde for döngüsü ile yapmasını istiyorum tek başıma öğrendiğim için sadece size sorabiliyorum
    yardımcı olabilir misiniz.

    1. float pi = 3.14159265359;
      for(int yaricap=1;yaricap<=10;yaricap++) { int cevre = 2 * pi * yaricap; int alan = pi * yaricap * yaricap; printf("\n %d yaricapli dairenin cevresi : %d, alanı ise : % d",yaricap, cevre, alan); }

Bir cevap yazın