Ana Sayfa

Bilgisayar Eğitim CD

Bilgisayar Kitapları

 
 
Adım Adım Web Eğitim Seti Adobe Flash Eğitim Seti


C ve C++ Dersleri Geri Dön

C++ Eğitim Seti

C++ For Döngüsü

FOR DÖNGÜSÜ
For döngüsünün çalismasi, döngünün kontrol degiskenine baslangiç degerinin atanmasi ile baslar. Asagida verecegimiz ilk deger atama cümlesinden kastimizda budur. Yani bu kisimda baslangiç tanimlari yapilir. For döngüsünün baslangiç adimidir. Bu kisimda yapilan bir degisken tanimindaki degiskenin ömrü, for döngüsünün sonunda biter. Sonra döngü kosul kismina gelinir ve bu test edilir. Sayet degeri !0, dogru (1) oldugunda döngü içindeki komutlar uygulanir. Arttirma ise for döngüsü isleminin sonunda meydana gelir. for içindeki tüm deyimler meydana geldikten sonra uygulanir.

Genel yapisi:

for ( ilk deger atamalar, kosul, arttirma)
cümle
Bunu daha da genellersek, digerlerinde de oldugu gibi cümleler birden fazla oldugunda komut blogu arasina alinacaktir.

for ( ilk deger atamalar, kosul, arttirma)
{
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 kismi anlatacagim, diger kisimlar apaçik gözüküyor zaten. For diyip () imizi açtik. Sonra içine ilk basamagimiz olan degisken tanimlamamizi yaptik. Int n=10; Bu bizim yukarida bahsettigimiz ilk deger atamalar kismi. Daha sonra kosulumuzu yazdik. n>0; bunu test ettik ve !0 yani dogru (1) çikti. Sonrada n-- yi yazdik. Genel tanimda yazdigimiz arttirma kismi. Aslinda buna yenileme komutlari desek daha dogru olur. Biz bu örnekte örnegin azaltma yaptik. Neyse umarim bu for örnegini anlamissinizdir.

C++ da yapacagimiz çogu örnekte for u kullanacagiz. C++ ''nin en güçlü yanlarindan biriside for döngüsüdür. For döngüsünün basinda yani ilk deger atama kisminda birden çok degisken tanimlayip deger atiyorsak bunlari virgül ( , ) ile bir birinden ayirmaliyiz. Ilk deger atamadan kosul bölümüne geçtigimizde ve kosul bölümünden arttirma ya geçerken noktali virgül ( ; ) kullanmaliyiz. Tabi kullandigimiz bu üç kisim seçimlidir istersek bos birakabiliriz. Fakat, noktali virgüller ( ; ) konulmasi zorunludur.

1.Örnegimiz:

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


#include <iostream.h>

int main()

{
int fac, sayi;

cout<<"Sayiyi giriniz: ";
cin>>sayi;
fac=1;

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

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

}



Bu örnegimiz oldukça basit. Bildigimiz matematiksel faktöriyel islemini C++ kodlari olarak yazdik. (\a yi kullandim bip! demesi için:) ).

2.Örnegimiz:

//carpim_for.cpp
// iç içe for döngüsüyle çarpim tablosu


#include <iostream.h>


main()
{
cout<<"Çarpim 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ügü gibi ilk for döngüsünde, birinci bilesen olan x i önce 1 e esitledik sonra birer arttirarak 10'' a kadar götürdük. Sonraki for da da aynisini y için yaptik ve bu iki bileseni çarparak ekrana yazdirdik. Son derece basit bir örnek.

3.Örnegimiz:

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

#include <iostream.h>

int main()
{
int sayi;
cout << "Bir sayi 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 sayidir!\n";
}
return 0;
}



Bu örnegimizde ikinci örnegimize benziyor. Içinde for, while ve if de var. While ve if'' in içindeki matematiksel ifadeleri biliyorsak örnek gayet basit gelicektir. Burada birakmak istiyorum. Bir sonraki ders görüsmek üzere.