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 Programda bazı kodların tekrarlanmasını isteriz, bazen de koşul sağlandıkça bazı kodların tekrarlanmasını isteyebiliriz. Aşağıdaki örnekleri düşünelim: –Klavyeden girilen bir sürü sayının toplamı –a n ifadesini hesaplama –1 den N’ye kadar sayıların toplamı –1 den N’ye kadar sayıların karelerini alma Neden Döngüler?

4 4 Bir dizi sayının toplamını nasıl hesaplarız? Klavyeden girilecek bir dizi sayının toplamını hesaplayacak bir algoritma yazalım. Input –Bir sürü sayı (kaç tane olduğunu bilmiyoruz) –0 sayı girişini bitirecek Output –Girilen sayıların toplamı

5 5 1.Başla 2.Toplamı 0 a eşitle 3.Kullanıcıdan sayı girmesini veya 0 ile durmasını iste. 4.Klavyeden girilen sayıyı oku 5.Eğer sayı 0 değil ise 5.1. toplam = toplam + sayi adıma git 6.Toplamı yazdır. 7.Bitir Bir dizi sayının toplamını hesaplama: Algoritma

6 6 Bir dizi sayının toplamını hesaplama: Akış Diyagramı Sayı gir veya 0 ile dur Toplamı ekrana yazdır sayı != 0? H Klavyeden Girilen Sayıyı oku toplam = 0 toplam +=sayı E Başla Bitir

7 7 Açıkçası biz kullanıcı 0 girene kadar 3, 4 ve 5. basamakların sürekli çalışmasını istiyoruz. Bunun anlamı; 3, 4 ve 5. adımları bir döngü içinde çalıştırmamız gerekiyor. Bir dizi sayının toplamını hesaplama: Nasıl yapmalıyız?

8 8 “a” gerçek sayı, “n” tam sayı ve n>=0 olsun. –Örnek, 3 5 i hesapla. –3 5 = 3*3*3*3*3 sonuc değişkeni alalım ve ilk değeri 1 olsun. –sonuc = 1 (a 0 =1) a sayısını kendisiyle çarp ve her çarpma işleminde bir say. –Sayacın ilk değeri = 0 Sayaç “n” olunca “a” sayısını “n” defa kendisiyle çarpmışız demektir. a n yi nasıl hesaplarız?

9 9 1.Başla 2.Kullanıcıdan “a” ve “n” girmelerini iste 3.Sayacı 0 a eşitle 4.Sonucu 1 e eşitle /* sonuc = a 0 = 1 */ 5.(sayac < n) olduğu sürece tekrarla 5.1. sonuc = sonuc * a; /* şimdi sonuc = a sayac */ 5.2. sayac++; 6.Sonucu yazdır 7.Bitir a n Hesaplama Algoritması

10 10 a n Hesaplama Akış Diyagramı sayac = 0 Başla sonuc = 1 sayac < n? “a” ve “n” değerlerini giriniz sonucu yazdır H Bitir E sonuc *= a; sayac++;

11 11 “sayac” “n” değerine ulaşana kadar 5.1 ve 5.2 adımlarının tekrarlamalarını istiyoruz. –5.1 ve 5.2 basamaklarını koşul sağlandıkça bir döngü içinde çalışmalarını istiyoruz. a n Hesaplama – Nasıl Yapmalıyız?

12 12 C# ta döngü tanımlama –while döngüleri –do-while döngüleri –for döngüleri –foreach (listelerde ve koleksiyonlarda kullanılır) Aşağıdaki yardımcı ifadeler döngülerin içerisinden çıkarmak için kullanılabilir. –break –continue –goto C#’ta döngü yapıları

13 13 while Döngüsü While döngüsü koşul sağlandıkça çalışır; ta ki test edilen koşul false olursa döngü biter. Döngünün kaç defa çalışacağı bilinmediği durumlarda kullanılır. Kullanımı: while(koşul) { ifade1; ifade2;... } koşul E H ifade1 ifade2...

14 14 Bir sürü sayının toplamını hesaplama: Akış diyagramı – kod int sayı, toplam = 0; Console.Write("Bir sayı girin(durmak için 0):"); int.TryParse(Console.ReadLine(), out sayı); while (sayı != 0) { toplam += sayı; Console.Write("Sayı girin(durmak için 0):"); int.TryParse(Console.ReadLine(), out sayı); } Console.Write("Toplam =" + toplam); Toplam+=n Bitir Toplamıyazdır Bir sayi girin (n) n != 0 ? N YBirsayigirin(n) Başla

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

16 16 a = 3 ve n = 5 için kod izlemesi int n, sayac = 0; int a, sonuc = 1; string str; Console.Write("a değerini gir:"); str = Console.ReadLine(); int.TryParse(str, out a); Console.Write("n değerini gir:"); str = Console.ReadLine(); int.TryParse(str, out n); while (sayac < n) { sonuc *= a; sayac++; } Console.Write("{0}^{1} = {2} ", a, n, sonuc); 0 1 sayac sonuc 3 5 a n 0 < 5?  True < 5?  True < 5?  True < 5?  True < 5?  False 4 < 5?  True 5 243

17 a n Hesaplama: Alternatif Kod int n, sayac = 0; 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); while (sayac < n) { sonuc *= a; sayac++; } Console.Write("{0}^{1} = {2} ", a, n, sonuc); while (sayac++ < n) sonuc *= a; 17

18 18 1.Kullanıcıdan “n” sayısını iste 2.i = 1 /* İterasyon değişkeni*/ 3.toplam = 0 /* geçerli toplam*/ 4.(i <= n) olduğu sürece tekrarla 4.1. toplam += i; 4.2. i++; 5.Toplamı yazdır N işlemini hesaplama Algoritma

19 N Hesaplama: Akış Diyagramı ve Kod int n, i,toplam; Console.Write("n değerini gir:"); int.TryParse(Console.ReadLine(),out n); i = 1; toplam = 0; while (i <= n) { toplam += i; i++; } Console.Write("Toplam = " + toplam); i = 1 Başla toplam = 0 i <= n? “n” değerini gir Toplamı yazdır H Bitir E toplam += i; i++;

20 20 n=5 için Kod izleme int n, i,toplam; string str; Console.Write("n değerini gir:"); str = Console.ReadLine(); int.TryParse(str, out n); i = 1; toplam = 0; while (i <= n) { toplam += i; i++; } Console.Write("Toplam = " + toplam); 1 0 i top 1 <= 5?  True 21 2 <= 5?  True 33 3 <= 5?  True 46 4 <= 5?  True <= 5?  False 5 <= 5?  True n

21 N: Alternatif Kod int n, i,toplam; Console.Write("n değerini gir:"); int.TryParse(Console.ReadLine(), out n); i = 1; toplam = 0; while (i <= n) { toplam += i; i++; } Console.Write("Toplam = " + toplam); while (i <= n) toplam += i++;

22 22 1 den N sayısına kadar Sayıların Kareleri Tablosunu Oluşturma | i | i*i | | 1| 1| | 2| 4| | 3| 9| | 4| 16| | 5| 25| | 6| 36| Girilen n sayısına kadar 1, 2, 3, 4,.., n sayıların karesini veren bir tablo oluşturalım. n = 6 için görünüm aşağıdaki gibi olacak

23 23 Kareler Tablosu için Kod int i, 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(" "); i = 1; while (i <= n) { // beş hanede sağa hizalayarak yazar Console.WriteLine("|{0,5}|{1,5}|", i, i * i); i++; } // tablonun alt çizgisi Console.WriteLine(" "); i = 1 Başla i <= n? n değerini gir Tablonun alt çizgisini yazdır H Bitir E (i, i*i) yazdır i++; Başlığı yazdır

24 24 n=4 için kod izleme Console.WriteLine(" "); Console.WriteLine("| i | i*i |"); Console.WriteLine(" "); i = 1; while (i <= n) { Console.WriteLine("|{0,5}|{1,5}|",i,i*i); i++; } // tablonun alt çizgisi Console.WriteLine(" "); 1 i 4 n 1 <= 4?  True | i | i*i | | 1| 1| | 2| 4| | 3| 9| | 4| 16| <= 4?  True 3 3 <= 4?  True 4 4 <= 4?  True 5 5 <= 4?  False

25 25 while Örnek-1 int i = 0; Console.WriteLine("C# programlamayı nasıl buldun"); while (i < 10) { Console.WriteLine("C# Programlama çok zevkli!"); i++; } 10 defa tekrarlar (0 dan 9’a kadar) Aynı mesajı 10 defa yazar

26 26 while Örnek-2 int i = 20; Console.WriteLine("C# programlamayı nasıl buldun"); while (i < 10) { Console.WriteLine("C# Programlama çok zevkli!"); i++; } 0 defa tekrarlar (i = 20, 10’dan küçük değil) Hiç mesaj yazmayacak

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


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

Benzer bir sunumlar


Google Reklamları