Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

3. HAFTA 3. Hafta.

Benzer bir sunumlar


... konulu sunumlar: "3. HAFTA 3. Hafta."— Sunum transkripti:

1 3. HAFTA 3. Hafta

2 Döngüler 1.Sayıcı kontrollü döngü 2.Belirsiz kontrollü döngü
döngü değişkeni döngü değişkeni başlangıç değeri döngü değişkeni artması veya azalması döngü değişkenin son değerinin test edilmesi 2.Belirsiz kontrollü döngü belirsiz döngü adedi döngü şartını sağlayan değişken değişimi 3. Hafta

3 Döngüler- while while (döngü şartı) { döngü gövdesi işlemleri; }
Döngü şartı sıfırdan farklı olduğu sürece döngü işletilir. Örnek: 1’den 10’a kadar olan tamsayıları toplayan program. #include <iostream> using namespace std; main(){ int sayac=1,toplam=0; //sayac, döngü kontrol değişkeni while(sayac<=10) //döngü adedi belirli toplam+=sayac; cout<<toplam<<“\t”; sayac++; //döngü kontrol değişkeni artımı system("pause"); return 0; İşlemler Döngü şartı Yanlış Doğru 3. Hafta

4 Döngüler- özel while Sonsuz Döngüler: while(1) { } while(10) { }
while(-10) { } //Kullanım yeri? Girilmez Döngü: while(0) { } //Kullanma yeri? Değişkene bağlı Döngü: while(a) { } //Fazla serbest? Tehlikeli Form: while(a=3) //Tehlike ne? 3. Hafta

5 Başlangıç; koşul; artım/azaltım
Döngüler- for for (başlangıç atamaları; döngü şart ifadesi; döngü sonu işlemleri) { döngü gövdesi işlemleri; } Başlangıç atamaları döngü başında sadece bir kez çalışır. Döngü şart ifadesi, başlangıç atamalarından sonra kontrol edilir Döngü sonu işlemleri her çevrimden sonra işletilir Döngü şart ifadesi her döngü sonu işleminden sonra kontrol edilir. Döngü şartı sıfırdan (YANLIŞ) farklı olduğu sürece döngü işletilir İşlemler Başlangıç; koşul; artım/azaltım 3. Hafta

6 Döngüler- özel for Sonsuz Döngüler: for(;;) { }
for(;1;){ } // Sıfırdan farklı bir sayı for(;-9;){ } // 9’un ve 1’in bir özelliği yok Girilmez Döngü: for(;0;) { } Değişkene bağlı Döngü: for(;a;) { } Tehlikeli Form: for(;a=3;) 3. Hafta

7 Döngüler- for system("pause");
Örnek: 1’den 10’a kadar olan tamsayıları toplayan program. #include <iostream> using namespace std; main(){ for(int sayac=1,toplam=0;sayac<=10;sayac++) { toplam+=sayac; cout<<toplam<<“\t”; } system("pause"); return 0; 3. Hafta

8 Döngüler- do-while do { döngü gövdesi işlemleri;
Döngü şartı Yanlış Doğru do { döngü gövdesi işlemleri; } while (döngü şartı); Örnek: 1’den 10’a kadar olan tamsayıları toplayan program. #include <iostream> using namespace std; main(){ int sayac=0,toplam=0; //sayac, döngü kontrol değişkeni toplam+=sayac; cout<<toplam<<“\t”; sayac++; //döngü kontrol değişkeni artımı } while(sayac<=10); // döngü şartı kontrolü system(“pause”); return 0; } 3. Hafta

9 break- continue Belirli bir şartta veya sonsuz döngülerin terk edilmesinde break, Belirli bir şartta döngü başına dönülmek istenmesinde continue kullanılır. break program akışını döngü sonrası komuta, continue ise döngü başına getirir. break döngünün sonlanmasını sağlar 3. Hafta

10 break-continue örneği
İşlemler Döngü şartı Yanlış Doğru #include <iostream> using namespace std; main(){ for(int x=1;x<=10;x++){ if(x<5) continue; if(x==9) break; cout<<x; } system(“pause”); return 0; Continue var mı? Break Var Yok 3. Hafta

11 İç-içe Döngüler Tüm döngüler iç-içe yapılandırılabilir
Kullanım Alanları Çok boyutlu dizilerde Seri hesaplamalarında İlişkili döngülerde İşlemler Döngü şartı Yanlış Doğru 3. Hafta

12 İç-içe Döngüler-2 #include <iostream> Using namespace std;
main(){ int disDongu, icDongu, k, maks; cout<<"Maksimum değeri giriniz:“;cin>>maks; cout<<“Asal Sayılar\n”; for(disDongu=2; disDongu<=maks; disDongu++){ k=1; for(icDongu=2; icDongu<=disDongu/2;icDongu++) if(!(disDongu%icDongu)) k=0; if(k) cout<<“ “<<disDongu; } System(“pause”); return 0; 3. Hafta

13 Goto Deyimi ve Etiket Bir programın akışını herhangi bir koşula bağlı olmaksızın değiştirir. Program denetimi bir noktadan başka bir noktaya geçer ve oradan devam eder. goto deyimi çalışması için etikete (label) ihtiyaç vardır. C dilinde tanımlı olmasına rağmen programcılar tarafından kullanımı tercih edilmez. Basla: if (koşul) goto Basla ………… Etiket : ile tanımlanır 3. Hafta

14 Çalışma Soruları-2.1 3. Hafta
Soru-2.1 Maksimum sınırı verilen tamsayılardan tam bölenlerinin toplamı kendi değerlerine eşit olanları veren programı tasarlayınız. Örneğin 6 sayısı 1,2,3’e tam bölünür ve toplamları 6’dır. 8 ise 1,2,4 sayılarına tam bölünür ancak bölenlerin toplamı 7’dir. Soru-2.2: Aşağıdaki programın çıktısı ne olur? #include <stdio.h> void main() { int i,j; char a='g', b='h'; for(scanf("%c%c",&a,&b),i=2; i>a-b; i--) printf("%c",'4'+i); for(j=i+4; j>i; j-=2) while(j%3-2>i) printf("j=%d i=%d \n",j,i++); } Soru-2.3 Aşağıdaki programın çıktısı ne olur? int i; for (i=0; i<15; i++) if (i%2) printf("%d",i%3+i/3); else if (i%3 || i++/4) printf("%d\n",i+=1.5); 3. Hafta

15 Çalışma Soruları-2.2 3. Hafta
Soru-2.4: Aşağıdaki for döngüsünü do-while ve while döngüsünü de for ile tekrar yazınız. #include <stdio.h> void main() { int i, j, k; for(scanf("%d %d",&i,&j); i<j; i++) k = i - (j--); while (k>0) k--; } Soru-2.5: Girilen tamsayılardan 30 ile 50 arasındaki (sınırlar dahil) tamsayıların ortalamasını veren programı C++ dilinde yazınız. Programdan çıkış için negatif bir değerin girilmesi yeterlidir. Soru-2.6: Klavyeden girilen karakterlerin içerisinden rakamları alan ve tüm rakamların toplamını veren programı yazınız. Rakamlar ardışık olduğunda (456 gibi) olarak toplama dahil etmelidir. Girişi nokta karakteri sonlandırmalıdır. Soru-2.7: getch() fonksiyonu kullanarak girilen karakterleri, sıkıştırılmış formda görmek istiyorsunuz. Örneğin girişiniz aaaabbbcddddee ise, ekrana a4b3cd4e2 olarak verilecektir. Küçük harften farklı girilen her karakter girdinin sonlandığını bildirecektir. Soru-2.8: ! karakterinin bildirmesiyle sonlanan klavye girdisinde en çok tekrar eden ardışık harfi ve sayısını veren programı tasarlayınız. 3. Hafta


"3. HAFTA 3. Hafta." indir ppt

Benzer bir sunumlar


Google Reklamları