BPR152-Algoritma ve Programlama II Uygulama -8 Bu uygulamalar ile aşağıdaki bilgileriniz pekişecektir. Döngü Yapıları İç-içe döngüler Sonsuz döngüler Döngü içinde kullanılan yardımcı ifadeler o break o continue o goto // iç içe for döngüleri kullanımı ile çarpım tablosu hazırlama using System; class Program { static void Main() { /* tablo başlığı yazdıralım*/ Console.WriteLine("+---+---+---+---+---+---+---+---+---+---+---+"); Console.Write("| * |"); for (int i = 1; i <= 10; i++) Console.Write("{0,3}|", i); Console.WriteLine("\n+---+---+---+---+---+---+---+---+---+---+---+"); /* Tabloda: i satırları, j sütunları ifade edecek */ for (int i = 1; i <= 10; i++) { Console.Write("|{0,3}|", i); /* i için tablonun bir satırını yazdır*/ for (int j = 1; j <= 10; j++) { Console.Write("{0,3}|", i * j); } Console.WriteLine(); // bir satır ekle } /* Tablonun alt çizgisini yazdır*/ Console.WriteLine("+---+---+---+---+---+---+---+---+---+---+---+"); Console.ReadLine(); } } BMYO- Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Bahar Dönemi BPR152-Algoritma ve Programlama II Uygulama -8 // klavyeden rastgele girilen sayıların toplama eklenmesi // 0 girilince toplamı yazıp çıkıyor using System; class Program { static void Main() { int n, toplam = 0; while (true) /* sonsuz döngü*/ { Console.Write("bir sayı gir (durmak için 0): "); int.TryParse(Console.ReadLine(), out n); if (n == 0) break; toplam += n; /* döngünün dışına çık */ } Console.Write("toplam=" + toplam); Console.ReadLine(); } } // klavyeden girilen n sayısının asal olup olmadığını kontrol eden kod using System; class Program { static void Main() { int n, i; Console.Write("Bir sayı gir: "); int.TryParse(Console.ReadLine(), out n); for (i = 2; i < n; i++) { if (n % i == 0) break; } if (i < n) Console.Write("n=" + n + " sayısı " + i + " sayısına bölünüyor"); else Console.Write("n=" + n + " sayısı asaldır!"); Console.ReadLine(); } } BMYO- Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Bahar Dönemi BPR152-Algoritma ve Programlama II Uygulama -8 // 1 den n sayısına kadar asal sayıları bulma using System; class Program { static void Main() { int n; Console.Write("n sayısını giriniz:"); int.TryParse(Console.ReadLine(), out n); Console.WriteLine("Asal Sayılar:"); for (int sayi = 2; sayi <= n; sayi++) { int i; for (i = 2; i < sayi; i++) { if (sayi % i == 0) break; } if (i == sayi) Console.Write(sayi + " "); } Console.ReadLine(); } } // [n,m] sayıları aralığındaki asal sayıları bulma // n alt sınır, m üst sınır using System; class Program { static void Main() { int n, m; Console.Write("Alt sınırı gir:"); int.TryParse(Console.ReadLine(), out n); Console.Write("Üst sınırı gir:"); int.TryParse(Console.ReadLine(), out m); Console.WriteLine("Asal Sayılar:"); for (int sayi = n; sayi <= m; sayi++) { int i; for (i = 2; i < sayi; i++) { if (sayi % i == 0) break; } if (i == sayi) Console.Write( sayi + " " ); } Console.ReadLine(); } } BMYO- Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Bahar Dönemi BPR152-Algoritma ve Programlama II Uygulama -8 // 0 girene kadar girilen sayıların üçüncü kuvvetini alan program using System; class Program { static void Main() { int n; while (true) { Console.Write("bir sayı girin veya bitirmek için 0: "); int.TryParse(Console.ReadLine(), out n); if (n == 0) break; Console.WriteLine("n=" + n + ", n*n*n*=" + n * n * n); } Console.ReadLine(); } } // klavyeden rastgele girilen 10 tane sayıyı toplama ekleyip ekrana yazan program // 0 girilirse toplama yapmayıp döngüyü başa sarıyor using System; class Program { static void Main() { int i, n = 0, toplam = 0; while (n < 10) { Console.Write("Sayı Gir:"); int.TryParse(Console.ReadLine(), out i); if (i == 0) continue; /*(B) ye geçer */ n++; toplam += i; Console.WriteLine("Toplam = " + toplam); /*(B)*/ } Console.ReadLine(); } } BMYO- Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Bahar Dönemi BPR152-Algoritma ve Programlama II Uygulama -8 // Klavyeden girilen 10 tane pozitif tam sayının toplamını ekrana yazma: // Girilen sayı sıfırdan küçük veya eşit ise adet bir arttırılmayacak // ve sayı toplama eklenmeyecektir. using System; class Program { static void Main() { int sayı, adet = 0, toplam = 0; while (adet < 10) { Console.Write("Sayı Gir:"); int.TryParse(Console.ReadLine(), out sayı); if (sayı <= 0) continue; // kalan kısmı atlar adet++; toplam += sayı; } Console.WriteLine("Toplam = " + toplam); Console.ReadLine(); } } // x ve y bir birinden farklı olmak şartıyla |x|+|y|=4 // eşitliğini sağlayan tamsayı çiftlerini ekrana yazdıran program: using System; class Program { static void Main() { int x, y; for (x = -4; x <= 4; x++) { for (y = -4; y <= 4; y++) { if (x == y) continue; //x=y ise atla -4,0 -3,-1 -3,1 -2,2 -1,-3 -1,3 0,-4 0,4 1,-3 1,3 2,-2 3,-1 3,1 4,0 if (Math.Abs(x) + Math.Abs(y) == 4) Console.WriteLine(x + "," + y); } } Console.ReadLine(); } } BMYO- Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Bahar Dönemi BPR152-Algoritma ve Programlama II Uygulama -8 // goto ile oyun: // Bilgisayarın 1 ile 10 aralığında rastgele tuttuğu bir sayıyı // 5 tahminde bulmak için yazılmış kod: using System; class Program { static void Main() { Random r = new Random(); int s = r.Next(1, 11); int i = 0, sayı; tekrarla: Console.Clear(); Console.WriteLine("Kalan Tahmin sayısı: " + (5 - i)); Console.WriteLine("1 ile 10 arasında bir sayı giriniz:"); int.TryParse(Console.ReadLine(), out sayı); i++; if (sayı == s) goto tebrikler; if (i == 5) goto bulamadınız; else goto tekrarla; tebrikler: Console.WriteLine("Tebrikler {0}. tahminde buldunuz.", i); goto son; bulamadınız: Console.WriteLine("Tahmin hakkınız bitti. Kaybettiniz!"); son: Console.WriteLine("Oyun Bitti!"); Console.ReadLine(); } } BMYO- Bilgisayar Programcılığı | Öğr. Gör. Bayram AKGÜL | 2013-2014 Bahar Dönemi