BPR151-Algoritma ve Programlama I

advertisement
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
Download