C++ While Döngüsü
WHILE DÖNGÜSÜ
Içlerinde anlatimi ve anlasilmasi en kolay olan döngüdür. While
döngüsü, döngü sayisinin belli olmadigi zamanlarda kullanilir.
while ( kosul )
Komut;
While döngüsü, içinde bulunan ifade dogru oldugu sürece altindaki
komut veya komut blogu yürütülür. Eger yanlis ise kontrol bir
sonraki komut veya komut bloguna geçer.
While döngüsü daha genel sekliyle:
while ( ifade )
{
komut;
komut;
komut;
.
.
.
}
Burada bir seye dikkat etmenizi istiyorum. Çoklu komutlar
kullandigimizda " { } "parantezleri gereklidir.
// while1.cpp
// while döngüsünü kullandik
// girdigimiz sayidan 100 e kadar olan sayilari topladik
#include <iostream.h>
main()
{
int x, y;
y= 0;
cout<< " Bir Sayi Giriniz ( Sayi 100 den küçük olucak ) : ";
cin>>x;
while (x< 101)
{
y =y+x;
x =x+1;
}
cout<< "Toplam= "<< y;
}
Burada önce x ve y yi tanimladik. y=0 degerini verdik. Sonra
klavyeden girilen degerin x oldugunu yazdik. while (x< 101) iste
burada ifademiz x< 101. Simdi bu kosul saglanincaya kadar döngümüz
devam edecek. While'' den sonraki bloga geçtigimizde ise. y` ye x i
ekliyoruz ve x in degerini her seferinde 1 arttiriyoruz. Sanirim bu
basit örnekte döngünün basit yapisini ve mantigini anlamis oldunuz.
Döngünün verilen ifade veya kosula göre saglanmasi döngülerin en
önemli konusudur. Eger bir döngüden çikilmazsa o döngü sonsuza
gider. Buna da "sonsuz döngü" denir. Döngüler konusunda en çok
rastlayacagimiz hata da budur.Simdi buna bir örnek verelim. Fakat,
simdiden uyariyorum, sonsuz döngü yapildiginda bilgisayariniz
kilitlenebilir. Onun için buna simdiden hazir olun. Zaten bir sefer
denedigimizde ne demek istedigimi anlayacaksinizdir.
//sonsuz.cpp
//while döngüsü ile sonsuz bir döngü yaptik
#include <iostream.h>
main()
{
int x=1;
while(x)
cout<< "x= "<< x++<< endl;
}
Burada neden sonsuz bir döngü oldu? Evet iste x ifadesini kosula
baglamadik. Sayet while(x<10) demis olsaydik. 1,2,3,4,5,6,7,8,9 a
kadar x sayisi siralanacakti.
//klavye.cpp
//while döngüsü ile klavyeden girilen sayi
#include <iostream.h>
main()
{
int x, y = 0;
while (y< 20)
{
cin>>x;
y = y+x;
}
cout<< "Toplam= "<< y ;
}
Bu programda da klavyeden girilen sayilarin toplami 20'' den büyük
olunca program Toplam olarak söylüyor. Sanirim basit While yapisini
anladiniz. Simdi birazda karmasik programciklar yapalim:).
1. Örnek: Girilen alti not''un ortalamasini aliyor.
//ortalama.cpp
// while döngüsü ile girilen notlarin ortalamasini aldik.
#include <iostream.h>
int main()
{
int toplam,
sayac,
not,
ortalama;
toplam = 0;
sayac = 1;
while ( sayac <= 6 )
{
cout << "Notu giriniz: ";
cin >>not;
toplam = toplam + not;
sayac = sayac + 1;
}
ortalama = toplam / 6;
cout << "Sinif ortalamasi = " << ortalama << endl;
return 0;
}
Bu örnegimizde yine toplam, sayac, not, ortalama gibi degiskenleri
tanimladik. ( toplam =0 ; ve sayac = 1; ) de degiskenlere ilk
degerlerini atadik. While döngüsünün içinde sayac degiskenimizi alti
defa islemesini söyledik. Sonra alttaki toplam ve sayac bölümlerinde
ise toplam a not'' u ekliyoruz, her seferinde de sayac degerini bir
arttiriyoruz ve sayac degeri 6'' ya gelince while döngümüz duruyor.
Program sonra toplami alip altiya böler bu sayede ortalamayi alir,
sonrada çiktisini gerçeklestirir.
2. Örnek:
//faktoriyel.cpp
// while ile faktoriyel hesaplama
#include <iostream.h>
int main()
{
int sayi;
long int faktoriyel=1;
cout << "Bir sayi giriniz: ";
cin >> sayi;
cout << sayi << " `in Faktöriyeli: ";
while (sayi > 1)
faktoriyel *= sayi--;
cout << faktoriyel << endl;
return 0;
}
Burda while (sayi>1) seklinde kosulumuzu belirttik. Bir altinda ise
faktoriyel *= sayi--; evet burda da daha önce gördügümüz gibi
esitleme operatörü olan ( *= ) i kullandik. Yani faktoriyel''e
faktoriyel*sayi-- nin degeri atanir. Matematigini düsünürseniz; 7
sayisinin faktöriyeli 7 *= 7-- gibi. yani 7 ye devamli 7-- oda 6
demektir. 6 ile carpimi eklenir, bu 6-- ile devam eder. En basit
anlatimi bu:) Sonrada tüm while döngüsü bittikten sonrada faktoriyel''
in sonucu çikti olarak ekrana gelir. Bu örnekte negatif sayilarin
faktöriyelini de 1''e esit tutuyor. Dikkat ediniz. Negatif sayilarin
faktöriyeli alinmaz sartini koymadik. Sayet siz koymak isterseniz
bir if else blogu yerlestirmelisiniz if(sayi>=0) faktoriyel al yoksa
faktoriyel alma gibi.
3. Örnek:
// maas.cpp
// while if-else ile bir maas vergi uygulamasi
#include <iostream.h>
int main( )
{
unsigned long maas, net, vergi = 0.0; // maas net vergi bunlari
tanimladik
cout<< "Lütfen maasinizi giriniz: "; // maasi giriyoruz
cin>> maas; // maasi programa aliyoruz
while( maas >= 0.0 ) // maasin koslunu yaziyorus döngüye
{
if( maas <= 250000000 ) // maas 250 milyondan az ise
vergi = 0.0;
else // vergi yok:)
if( maas < 500000000 ) // maas 500 den az ise
vergi = maas * 0.10; // vergi %10
else // 500 den fazla ise
vergi = maas * 0.20; // vergi %20
net = maas - vergi; // net maasimiz vergi düsünce çikar
cout<< "Ödenmesi Gereken vergi " << vergi << endl; // vergi ekranda
cout<< "Net maasiniz: " << net << endl; // geriye kalan maasimiz
cout<< "Lütfen maasinizi giriniz: "; // bir dahaki ayki yeni
maasimiz
cin>> maas; // maasi program aliyor
}
return 1;
}
Anket
Son Konular
2012-03-22 19:47 - Geliştirdiğin kodları satmak ister misin
2012-02-12 23:21 - SMF forumu vbulletin foruma aktarmak
2011-12-14 21:50 - Motorlu araçlar otomobil vergisi sorgulama
2011-12-14 21:47 - Sorgulamalar
2011-12-11 14:33 - Ben az önce ne arayacaktım
2011-09-10 22:51 - DSLR Fotograf Makinası sınıflandırması
2011-09-09 17:33 - ‘Crop Factor’ Nedir, hakkında bilgi
2011-09-09 17:30 - Fotograf Rehberi
2011-08-20 21:30 - Samsung LEDTV'lerde .SRF ve XFS süprizi
2011-08-19 00:45 - 2011 yılının web tasarım trendleri
2011-04-09 20:18 - Alan adları gerçek isim sahiplerine verilecek!
2011-01-13 01:43 - SEO İçin Dikkat Edilmesi Gereken Hususlar
2011-01-13 01:42 - Meta tag SEO Optimization
2011-01-13 01:41 - Google Adsense Hakkında Detaylı Bilgi
2011-01-13 01:40 - Soru Ve Cevaplar ile Google Adsense
2011-01-13 01:39 - Arama motoru Google ve Pagerank
2011-01-13 01:38 - Seo Sözlüğü
2011-01-13 01:37 - Google Arama Özellikleri
2011-01-13 01:36 - Adsense Reklam Yerleşimi
2011-01-13 01:35 - Robots.txt Dosyası Kullanım Robotları Yölendirme Kontrol
2011-01-13 01:34 - Sitenizin Google ve Web deki Yeri
2011-01-13 01:33 - Arama Motoru Bilgi ve İpuçları
2011-01-13 01:31 - Arama Motorları Teknikleri
2011-01-13 01:29 - Google Pagerank Detaylı Anlatım
2011-01-13 01:27 - Sitenize Ziyaretçiler En Çok Hangi Kelimeler İle Gelmiş
2011-01-13 01:25 - Pagerank Nedir?
2011-01-13 01:19 - Fireworks Shadow and Glow
2011-01-13 01:18 - Fireworks Sharpen
2011-01-13 01:16 - Fireworks Other
2011-01-13 01:13 - Fireworks Blur
2011-01-13 01:09 - Fireworks Bevel and Emboss
2011-01-13 01:05 - Fireworks Adjust Color
2011-01-13 01:03 - Fireworks Save as Style
2011-01-13 00:58 - Fireworks Text Menüsü
2011-01-13 00:54 - Fireworks Select Menüsü
2011-01-13 00:54 - Fireworks Modify Menüsü
2011-01-13 00:51 - Fireworks View Menüsü
2011-01-13 00:18 - Fireworks Edit Menüsü
2011-01-13 00:16 - Fireworks File Menüsü
2011-01-13 00:05 - İnternet - Web Tarayıcılar (Browser)
2011-01-13 00:04 - İnternet - Web Server Yazılımları
2011-01-13 00:03 - İnternet ve Web İlişkisi
2011-01-13 00:02 - İnternette Kullanılan Protokoller
2011-01-13 00:01 - İnternet - World Wide Web (WWW) Nedir?
2011-01-13 00:00 - İnternet - URL nedir?
2011-01-12 23:43 - İnternet Backorder Nedir?
2011-01-12 23:34 - İnternet - Virüs Nedir?
2011-01-12 23:32 - İnternet Paypal nedir? Nasıl Kullanılır?
2011-01-12 23:31 - İnternet - DNS Nedir?
Günün Konuları
c# . javascript . C . xmlhttprequest . xml . xmlhttprequest nedir . c# ile yazma . c# kod çalıştırma . while . c# kodları . integer . c# string . c# tipler . value . type . reference type . console . const . decimal . boolean . writelene . printf . include . scanf . ajax nedir . http . http istemleri . ajax örneği . ajax tarayıcı desteği . activexobject . ajax ile sunucuya istek göndermek . null . showhint . getxmlhttpobject . statechanged . ajax php örneği . ajax asp örneği . ajax html sayfası . c# doğuşu . c# programlama sanatı . c# atama işlemleri . c# kuralları . c# türlerin tanımlanması . int . programlama . c# program kodları . c# döngü . c# ile ekrana yazı yazdırmak . c# aritmetik . c# operatörler . c# int . casting . byte . c# console . c# konsoldan veri girişi . static void main . c# decimal veri tipi . c# kayar nokta verileri . IEEE . c# yazı biçimlendirme . currency . general . c# char . compareTo . equals . c# while döngüsü . c# for döngüsü . c# foreach döngüsü . döngüler . hata yakalama . catch . pperatörler . .net framework . delphi . c++ builder . write . c# deki string dönüşümler . C nedir . C fonkisyonlar . getch .














Yeni yorum gönder