Dokuman Anasayfa
 


 

For Döngüsü

For döngüsünün çalışması, döngünün kontrol değişkenine başlangıç değerinin atanması ile başlar. Aşağıda vereceğimiz ilk değer atama cümlesinden kastımızda budur. Yani bu kısımda başlangıç tanımları yapılır. For döngüsünün başlangıç adımıdır. Bu kısımda yapılan bir değişken tanımındaki değişkenin ömrü, for döngüsünün sonunda biter. Sonra döngü koşul kısmına gelinir ve bu test edilir. Şayet değeri !0, doğru (1) olduğunda döngü içindeki komutlar uygulanır. Arttırma ise for döngüsü işleminin sonunda meydana gelir. for içindeki tüm deyimler meydana geldikten sonra uygulanır.

Genel yapısı:

for ( ilk değer atamalar, koşul, arttırma)
cümle

Bunu daha da genellersek, diğerlerinde de olduğu gibi cümleler birden fazla olduğunda komut bloğu arasına alınacaktır.

for ( ilk değer atamalar, koşul, arttırma)
{
cümle1
cümle2
cümle3
...
}

Bu söylediklerimizi bir örnek üzerinde izah edelim.

//for.cpp
// for döngüsüyle bir örnek.


#include <iostream.h>
int main ()
{
  for (int n=10; n> 0; n--)
  {
    cout << n << " -> ";
  }                                                
  cout<<  "Bitti!";
  return 0;
}

Ben sadece for (int n=10; n>0; n--) bu kısmı anlatacağım, diğer kısımlar apaçık gözüküyor zaten. For diyip () imizi açtık. Sonra içine ilk basamağımız olan değişken tanımlamamızı yaptık. İnt n=10; Bu bizim yukarıda bahsettiğimiz ilk değer atamalar kısmı. Daha sonra koşulumuzu yazdık. n>0; bunu test ettik ve !0 yani doğru (1) çıktı. Sonrada n-- yi yazdık. Genel tanımda yazdığımız arttırma kısmı. Aslında buna yenileme komutları desek daha doğru olur. Biz bu örnekte örneğin azaltma yaptık. Neyse umarım bu for örneğini anlamışsınızdır.

C++ da yapacağımız çoğu örnekte for u kullanacağız. C++ 'nın en güçlü yanlarından biriside for döngüsüdür. For döngüsünün başında yani ilk değer atama kısmında birden çok değişken tanımlayıp değer atıyorsak bunları virgül ( , ) ile bir birinden ayırmalıyız. İlk değer atamadan koşul bölümüne geçtiğimizde ve koşul bölümünden arttırma ya geçerken noktalı virgül ( ; ) kullanmalıyız. Tabi kullandığımız bu üç kısım seçimlidir istersek boş bırakabiliriz. Fakat, noktalı virgüller ( ; ) konulması zorunludur.

1.Örneğimiz:

//factoriyel_for.cpp
  //for döngüsüyle faktöriyel hesap.


  #include <iostream.h>

 int main()

{
int fac, sayi;

cout<<"Sayıyı giriniz: ";
cin>>sayi;
 fac=1;

for (int j=1; j<=sayi; j++)
 {
fac=fac*j;
  }

cout<<"Sonuc: \a"<< fac;
 return 0;

 }

Bu örneğimiz oldukça basit. Bildiğimiz matematiksel faktöriyel işlemini C++ kodları olarak yazdık. (\a yı kullandım bip! demesi için:) ).

2.Örneğimiz:

//carpim_for.cpp
// iç içe for döngüsüyle çarpım tablosu


#include <iostream.h>


main()
	{
        cout<<"Çarpım Tablosu! \n"<<endl;
	    int x,y;
	    for (x=1; x<=10; x++) 
	    {
		 for (y =1; y<=10; y++)
                cout<<" "<<x*y;	
	         cout<<"\n";	
	    }	
	}

Görüldüğü gibi ilk for döngüsünde, birinci bileşen olan x i önce 1 e eşitledik sonra birer arttırarak 10' a kadar götürdük. Sonraki for da da aynısını y için yaptık ve bu iki bileşeni çarparak ekrana yazdırdık. Son derece basit bir örnek.

3.Örneğimiz:

//asal_for.cpp
// for , if ve while ile asal sayı bulma

#include <iostream.h>

int main()
{
    int sayi;
    cout << "Bir sayı girinizr: ";
    cin >> sayi;
	
    for (int sayac=1; sayac< sayi; sayac++)
    {
        int asal, test;
        test = sayac;
       asal = 1;
        while (test--> 2)
            if ((sayac % test) == 0)
               asal = 0;
        if (asal == 1)
            cout<< sayac << " bir asal sayıdır!\n";
    }
    return 0;
}

Bu örneğimizde ikinci örneğimize benziyor. İçinde for, while ve if de var. While ve if' in içindeki matematiksel ifadeleri biliyorsak örnek gayet basit gelicektir. Burada bırakmak istiyorum. Bir sonraki ders görüşmek üzere.

 

» Hakkımızda
  İcerikde ekli bulunan dokumanların her hangı bır websitesi veya baska bır kaynakla alakası yoktur.Tamamen bizim emegimiz olan bu dokumalar uzun cabalar sonucunda bukadarı bır araya getirilmistir.Onun için emege saygılı olalım.
Genel Sorumlu ::  [ Site Yöneticisi ]  [ By SaNaLLord
 . Anasayfa . Bize ulasin . 
SaNaLLoRd Bilgi İşlem merkezi Genel tasarim ve kodlamada son nokta