Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL

Benzer bir sunumlar


... konulu sunumlar: "BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL"— Sunum transkripti:

1 BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL

2 2 Döngüler ve Akış Diyagramları C# ‘ta Döngü Tanımlama –while döngüsü –do-while döngüsü –for döngüsü –foreach döngüsü (listelerde ve koleksiyonlarda kullanılır. Daha sonra işlenecektir.) İç içe döngüler Döngülerde kullanılan yardımcı ifadeler –break –continue –goto Sonsuz döngüler Bugünkü Konular

3 3 do while ifadesi While döngüsü, döngünün başında -başlamadan önce- karşılaştırma durumuna göre çalışır. Bazı durumlarda döngü bir kere çalıştıktan sonra devam edip etmemeye karar vermek isteriz. Bu durumlarda do while döngüsü kullanılır. –Bu demek oluyor ki döngünün gövdesi en az bir kere çalışıyor. Yazım Kuralı: do { ifade1; ifade2;... } while(koşul); koşul Y N ifade1 ifade2...

4 4 Şifre Sorma(1) Örneğin, kullanıcı doğru şifreyi girene kadar kullanıcıdan şifre girmesini isteyelim: /* while kullanarak...*/ string SIFRE = "123456"; string sifre; Console.Write("Şifreyi girin:"); sifre = Console.ReadLine(); while (sifre != SIFRE) { Console.Write("Şifreyi girin:"); sifre = Console.ReadLine(); } Console.Write("şifre OK"); Burda şifreyi en az bir kere soruyoruz! –While döngüsü kullanmak ile Console.Write, Console.ReadLine ifadelerini tekrarlıyoruz.

5 5 Şifre Sorma(2) do-while ile aynı döngü /* do-while kullanarak …*/ string SIFRE = "123456"; string sifre; do { Console.Write("Şifreyi girin:"); sifre = Console.ReadLine(); } while (sifre != SIFRE); Console.Write("şifre OK"); Fark gayet açık…

6 6 do while Örnek-1 Bir pozitif tam sayı iste int sayi; do { Console.Write("Bir pozitif tam sayı gir: "); int.TryParse(Console.ReadLine(), out sayi); } while (sayi <= 0); Sayı 0’dan küçük eşit olduğu sürece sayıyı tekrar tekrar isteyecek.

7 7 do while örnek-2: int i = 0; Console.Write("C# Programlamayı nasıl buldun?"); do { Console.Write("C# Programlama çok zevkli!"); i++; } while (i < 10); 10 defa tekrarlar (0 dan 9 a kadar) Aynı mesajı 10 defa tekrarlar

8 8 do while örnek-3: int i = 20; Console.Write("C# Programlamayı nasıl buldun?"); do { Console.Write("C# Programlama çok zevkli!"); i++; } while (i < 10); 1 kere tekrarlar (i = 20 için) Aynı mesajı bir kere yazar

9 9 do while örnek-4: string opsiyon = " "; do { Console.WriteLine(" "); Console.WriteLine("Opsiyonlardan birini seçin:"); Console.WriteLine("(a) Not hesapla"); Console.WriteLine("(b) Ortalama hesapla"); Console.WriteLine("(c) Notları yazdır"); Console.WriteLine("(x) çıkış"); Console.WriteLine(" "); opsiyon = Console.ReadLine(); if (opsiyon == "a")... else if (opsiyon == "b")... else if (opsiyon == "c")... else... } while (opsiyon != "x");

10 10 while ile do while arasındaki fark nedir? whiledo while Döngüye koymak için kontrol ederDöngüden çıkarmak için kontrol eder. Döngü çalışabilir veya çalışmazDöngü en az bir kere çalışır

11 11 for Döngüsü Daha sık kullanılır Döngünün belli bir sayıda çalışmasını istiyorsak kullanırız. –Örneğin döngünün N defa çalışmasını istiyoruzdur. Yazım Kuralı: for(başlangıç değerleri; koşul; değiştirme listesi) { ifade1; ifade2;... }

12 12 for akış diyagramı, ve while eşiti for(ilk değer;koşul;değiştir) { ifade1; ifade2;... } değiştir koşul E H İlk değer ifade1 ifade2... İlk değer; while(koşul) { ifade1; ifade2;... değiştir; }

13 13 for Örneği int sayı; for(sayı = 1; sayı <= 10; sayı++) { Console.Write(sayı); } output:Başla sayı++ Bitir Sayıyıyazdır sayı <= 10 Y N sayı = 1 Problem: 1 den 10’a kadar sayıları yazdır

14 14 for ifadesinin kullanımı for (i=0; i=0; i--) … N-1 den 0 a kadar sayar for (i=N; i>=1; i--) … N den 1 e kadar sayar

15 a n Hesaplamak için Kod int n, sayac; double a, sonuc = 1; // sonuc = a^0 Console.Write("a değerini gir:"); double.TryParse(Console.ReadLine(),out a); Console.Write("n değerini gir:"); int.TryParse(Console.ReadLine(),out n); for (sayac = 0; sayac < n; sayac++) { sonuc *= a; } Console.Write("{0}^{1} = {2}",a,n,sonuc); sayac = 0 Başla sonuc = 1 sayac < n? “a” ve “n” değerlerini giriniz sonuci yazdır H Bitir E sonuc *= a; sayac++; 15

16 16 for Örnek: a n Hesaplama sonuc = 1; for(i=1; i<=N; i++) { sonuc *= a; } Başla i++ Bitir sonucuyazdır i <= N E H i = 1 sonuc *=a; 1 1 i sonuc 3 5 a n 1 <= 5?  True <= 5?  True <= 5?  True <= 5?  True <= 5?  False 5 <= 5?  True 6 243

17 17 for döngüsü ile N Akış Diyagramı ve Kod int n, i,toplam; Console.Write("n değerini gir:"); int.TryParse(Console.ReadLine(),out n); toplam = 0; for (i = 1; i <= n; i++) { toplam += i; } Console.Write("Toplam = " + toplam); i = 1 Başla toplam = 0 i <= n? “n” değerini giriniz Toplamı yazdır H Bitir E toplam += i; i++;

18 Not for parantezleri içerisinde değişken tanımlaması yapılabilir. 18 for (int i = 1; i <= n; i++) { toplam += i; } for döngü bloğunda sadece bir tek ifade varsa süslü parantezleri kullanmak zorunda değilsiniz. for (int i = 0; i <= n; i++) toplam += i;

19 19 for döngüsü ile N toplamını hesaplama - 2 int n, toplam; Console.Write("n değerini gir:"); int.TryParse(Console.ReadLine(), out n); toplam = 0; for (int i = 1; i <= n; i++) toplam += i; Console.Write("Toplam = " + toplam);

20 20 for döngüsü ile Kareler Tablosu int n; Console.Write("n değerini gir:"); int.TryParse(Console.ReadLine(),out n); // tablo başlığı Console.WriteLine(" "); Console.WriteLine("| i | i*i |"); Console.WriteLine(" "); for (int i = 1; i <= n; i++) { // beş hanede sağa hizalayarak yazar Console.WriteLine("|{0,5}|{1,5}|", i, i * i); } // tablonun alt çizgisi Console.WriteLine(" "); i = 1 Başla i <= n? n değerini giriniz Tablonun alt çizgisini yazdır H Bitir E (i, i*i) yazdır i++; Başlığı yazdır

21 21 Kareler Tablosu Yazdırma Console.WriteLine(" "); Console.WriteLine("| i | i*i |"); Console.WriteLine(" "); for (int i = 1; i <= n; i++) Console.WriteLine("|{0,5}|{1,5}|", i, i * i); Console.WriteLine(" "); | i | i*i | | 1| 1| | 2| 4| | 3| 9| | 4| 16| | 5| 25| | 6| 36| n=6 için Sonuç

22 22 for kullanım örnekleri toplam = 0; for(i=1; i<=N; i++) { toplam += i; } Problem: …+N işlemini hesapla toplam=0; i=1; for(; i<=N; i++) { toplam += i; } toplam=0; for(i=1; i<=N;) { toplam += i++; } İlk değer (i=1), kontrol(i<=N) ve değiştir(i++) ifadelerin her biri opsiyoneldir ve yazılmayabilir. i=1; toplam=0; for(; i<=N;) { toplam += i++; }

23 DINLEDIĞINIZ IÇIN TEŞEKKÜRLER… Öğr. Gör. Bayram AKGÜL23


"BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL" indir ppt

Benzer bir sunumlar


Google Reklamları