2. Hafta Ders Notları (11.07.2020 - 12.07.2020)
Gönderilme zamanı: 13 Tem 2020 00:05
Değişken Türleri Tabloları;
Geçen ders değişken tanımını basitçe ele almıştık. Burada C# ta kullanılabilecek değişken türlerinin neler olduğu ve değer aralıkları görülebilir.

Bir önceki dersten for döngüsünü bir örnekle hatırlayalım.
Klavyeden girilen sayının faktöriyelini hesaplayan kod satırlarını yazınız.

Switch – Case Yapısı
Basit bir switch-case işlemi kullanım örneği

Klavyeden girilen 0-9 arası rakamları ekrana yazdıran program.

Sistem saatini(DateTime) kullanarak gün bulan kod satırlarını yazınız.

While döngüsü kullanarak klavyeden girilen sayıya kadar sayıların toplamını bulan kod satırlarını yazınız.

Do-While kullanarak girilen sayıya kadar sayıları sıralayan ve toplayan kod satırlarını yazınız.

1 den 100 e kadar olan çift sayılar toplamını veren kod satırlarını yazınız.


Satır ve Sütun sayılarını klavyeden alınıp o kadar yıldız yapan kod satırlarını yazınız.

1 ile 100 arasında rastgele sayı üretip 50 yi bulduğunda ekrana yazdıran kod satırlarını yazınız.

Şifresi tanımlanmış uygulamada yanlış şifre girdiğinde sürekli sorup doğru girildiğinde ekrana yazdıran kod satırlarını yazınız.

Diziler
Tip[] dizi_ismi = new tip[eleman_sayisi]; şeklinde tanımlanır.
Diziye eleman atama şekli de Tip[] dizi_ismi={eleman1,eleman2,…} şeklindedir.
Örnek: 5 elemanlı bir dizi tanımlaması yapıp içerisine eleman ataması yapınız.

***********************************************************************************

************************************************************************

Klavyeden girilen 5 adet sayının ortalamasını bulup ekrana gösteren kod satırlarını yazınız.

Haftanın günlerini sıralayan kod satırlarını yazınız.

1-50 arasında rastgele sayı üretip 500 elemanlı diziye aktarıp küçükten büyüğe sıralayan kod satırlarını yazınız.

10 personelin no isim telefon numarası mail bilgilerini diziye kaydeden kod satırlarını yazınız.

-100 ile +100 arasında random üretilecek 20 sayılık dizi içerisinde pozitif, negatif ve 0 olanları sayıp bulacak kod satırlarını yazınız.

2 adet diziye 0-100 arasında rastgele sayı üretilecek. 2 dizide ortak olan sayıların sayısını bulup toplamını bulan kod satırlarını yazınız.

İki Boyutlu Diziler
İki boyutlu dizi tanımlaması yaparken tip[,] değişken_ismi =new tip[boyut1,boyut2]; şeklinde tanımlama yaparız.
1)Klavyeden satır sütun sayısı istendiğinde iki boyutlu diziye atama yapan kod satırlarını yazınız.

Tabloda verilen bilgilerle iki boyutlu dizi kullanarak en fazla yapılan satışı, aylara ve markalara göre satışları gösteren kod satırlarını yazınız.

Ders programına dizi içerinde tanımlı dersleri rastgele atayan kod satırlarını yazınız.

Geçen ders değişken tanımını basitçe ele almıştık. Burada C# ta kullanılabilecek değişken türlerinin neler olduğu ve değer aralıkları görülebilir.

Bir önceki dersten for döngüsünü bir örnekle hatırlayalım.
Klavyeden girilen sayının faktöriyelini hesaplayan kod satırlarını yazınız.
Kod: Tümünü seç
Console.Write("Faktöriyel Sayısı=");
int sayi = Convert.ToInt16(Console.ReadLine());
long fakt = 1;
for(int i = 1; i <= sayi; i++)
{ fakt = fakt * i; }
Console.Write("Faktöriyel Hesabı=" + fakt);
Console.ReadKey();

Switch – Case Yapısı
Basit bir switch-case işlemi kullanım örneği
Kod: Tümünü seç
int a=1;
switch (a)
{
case 1:Console.Write("1 e basıldı");break;
case 2:Console.Write("2 ye basıldı");break;
}

Klavyeden girilen 0-9 arası rakamları ekrana yazdıran program.
Kod: Tümünü seç
Console.Write("Rakam Giriniz(0-9)=");
int a=Convert.ToInt32(Console.ReadLine());
switch (a)
{
case 0: Console.Write("0 e basıldı"); break;
case 1: Console.Write("1 e basıldı"); break;
case 2: Console.Write("2 e basıldı"); break;
case 3: Console.Write("3 e basıldı"); break;
case 4: Console.Write("4 e basıldı"); break;
case 5: Console.Write("5 e basıldı"); break;
case 6: Console.Write("6 e basıldı"); break;
case 7: Console.Write("7 e basıldı"); break;
case 8: Console.Write("8 e basıldı"); break;
case 9: Console.Write("9 e basıldı"); break;
}

Sistem saatini(DateTime) kullanarak gün bulan kod satırlarını yazınız.
Kod: Tümünü seç
int gun =(int)DateTime.Now.DayOfWeek;
switch (gun)
{
case 1: Console.Write("Pazartesi");break;
case 2: Console.Write("Salı");break;
case 3: Console.Write("Çarşamba");break;
case 4: Console.Write("Perşembe");break;
case 5: Console.Write("Cuma");break;
case 6: Console.Write("Cumartesi");break;
case 7: Console.Write("Pazar");break;
}

While döngüsü kullanarak klavyeden girilen sayıya kadar sayıların toplamını bulan kod satırlarını yazınız.
Kod: Tümünü seç
int n = 1;
int toplam = 0;
Console.Write("Sayi Giriniz=");
int sayi = Convert.ToInt32(Console.ReadLine());
while(n <= sayi)
{
toplam = toplam + n;
n = n + 1;
}
Console.Write("Toplam=" + toplam);

Do-While kullanarak girilen sayıya kadar sayıları sıralayan ve toplayan kod satırlarını yazınız.
Kod: Tümünü seç
int n = 1;
int toplam = 0;
Console.Write("Sayi Giriniz=");
int sayi = Convert.ToInt32(Console.ReadLine());
do
{
toplam = toplam + n;
n = n + 1;
Console.WriteLine(" "+n+" " +toplam);
} while (n < sayi);
Console.Write("Toplam=" + toplam);

1 den 100 e kadar olan çift sayılar toplamını veren kod satırlarını yazınız.
Kod: Tümünü seç
int toplam = 0;
for(int i = 0; i <= 100; i = i + 2) //For ile yapımı
{
toplam = toplam + i;
}
Console.Write("Çift Sayılar Toplamı=" +toplam);

Kod: Tümünü seç
int sayi=0,toplam = 0;
while (sayi <= 100) //While ile yapımı
{
toplam = toplam + sayi;
sayi = sayi + 2;
}
Console.Write("Çift Sayılar Toplamı=" +toplam);
Console.ReadKey();

Kod: Tümünü seç
int sayi=0,toplam = 0; //Do-While ile yapımı
do
{
toplam = toplam + sayi;
sayi = sayi + 2;
} while (sayi <= 100);
Console.Write("Çift Sayılar Toplamı=" +toplam);
Kod: Tümünü seç
Console.Write("Sütun Sayısı Giriniz=");
int sutun = Convert.ToInt32(Console.ReadLine());
Console.Write("Satır Sayısı Giriniz=");
int satir = Convert.ToInt32(Console.ReadLine());
for(int i = 0; i < satir; i++)
{for(int j = 1; j < sutun; j++)
{
Console.Write("*");
}Console.WriteLine();
}

1 ile 100 arasında rastgele sayı üretip 50 yi bulduğunda ekrana yazdıran kod satırlarını yazınız.
Kod: Tümünü seç
Random rastgele = new Random();
int sayi,sayac=0;
do {
sayi = rastgele.Next(1, 100);
Console.WriteLine(sayi);
sayac = sayac + 1;
}
while (sayi != 50);
Console.WriteLine("Sonunda :D ="+sayi);
Console.WriteLine("Adım="+sayac);

Şifresi tanımlanmış uygulamada yanlış şifre girdiğinde sürekli sorup doğru girildiğinde ekrana yazdıran kod satırlarını yazınız.
Kod: Tümünü seç
string girilen, sifre = "12345";
do
{ Console.Write("Şifre Giriniz=");
girilen = Console.ReadLine();
} while (girilen != sifre);
Console.Write("Şifre Doğru,Hoşgeldiniz");

Diziler
Tip[] dizi_ismi = new tip[eleman_sayisi]; şeklinde tanımlanır.
Diziye eleman atama şekli de Tip[] dizi_ismi={eleman1,eleman2,…} şeklindedir.
Örnek: 5 elemanlı bir dizi tanımlaması yapıp içerisine eleman ataması yapınız.
Kod: Tümünü seç
int[] sayilar = new int[5];
sayilar[0] = 12;
sayilar[1] = 15;
sayilar[2] = 10;
sayilar[3] = 9;
sayilar[4] = 8;
Console.WriteLine(sayilar[0]);
Console.WriteLine(sayilar[3]);

***********************************************************************************
Kod: Tümünü seç
int[] sayilar = new int[5];
sayilar[0] = 12;
sayilar[1] = 15;
sayilar[2] = 10;
sayilar[3] = 9;
sayilar[4] = 8;
for(int i = 0; i < 5; i++)
{ Console.Write(" " +sayilar[i]); }

************************************************************************
Kod: Tümünü seç
int[] sayilar = new int[5];
sayilar[0] = 12;
sayilar[1] = 15;
sayilar[2] = 10;
sayilar[3] = 9;
sayilar[4] = 8;
foreach(int veri in sayilar)//For-Each kullanılarak denenilmiş yapı
{ Console.Write(" " + veri); }

Klavyeden girilen 5 adet sayının ortalamasını bulup ekrana gösteren kod satırlarını yazınız.
Kod: Tümünü seç
int[] sayilar = new int[5];
int toplam = 0,sayac=0;
double ort;
for(int i = 0; i < 5; i++)
{
Console.Write("Sayi Giriniz=");
sayilar[i] = Convert.ToInt16(Console.ReadLine());
toplam = toplam + sayilar[i];
sayac++;
}
ort = toplam / sayac;
Console.Write("Sayiların ortalaması=" + ort);

Haftanın günlerini sıralayan kod satırlarını yazınız.
Kod: Tümünü seç
string[] gunler = { "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar" };
foreach(string liste in gunler)
{ Console.Write(" "+liste); }

1-50 arasında rastgele sayı üretip 500 elemanlı diziye aktarıp küçükten büyüğe sıralayan kod satırlarını yazınız.
Kod: Tümünü seç
int[] dizi = new int[500];
Random rastgele = new Random();
for(int i = 0; i < 500; i++)
{
int sayi =rastgele.Next(1,50);
dizi[i] = sayi;
Array.Sort(dizi);//Diziyi küçükten büyüğe sıralama
Array.Reverse(dizi);//Diziyi büyükten küçüğe sıralama
}
foreach (int dizi1 in dizi)
{ Console.Write(dizi1); }

10 personelin no isim telefon numarası mail bilgilerini diziye kaydeden kod satırlarını yazınız.
Kod: Tümünü seç
string[] isim = { "Ahmet", "Ayşe", "Mehmet", "Ali", "Fuat", "Mecnun", "Süleyman", "Fatih", "Hüseyin", "Kamil" };
string[] numara = { "5378899660", "5378899661", "5378899662", "5378899663", "5378899664", "5378899665", "5378899666", "5378899667", "5378899668", "5378899669" };
string[] e_mail = { "Ahmet@gmail.com", "Ayşe@gmail.com", "Mehmet@gmail.com", "Ali@gmail.com", "Fuat@gmail.com", "Mecnun@gmail.com", "Süleyman@gmail.com", "Fatih@gmail.com", "Hüseyin@gmail.com", "Kamil@gmail.com" };
Console.Write("Kaçıncı personele bakacaksınız(1-10)=");
int sayi = Convert.ToInt16(Console.ReadLine());
switch (sayi)
{
case 1: Console.Write(" " + isim[0] + " " + numara[0] + " " + e_mail[0]); break;
case 2: Console.Write(" " + isim[1] + " " + numara[1] + " " + e_mail[1]); break;
case 3: Console.Write(" " + isim[2] + " " + numara[2] + " " + e_mail[2]); break;
case 4: Console.Write(" " + isim[3] + " " + numara[3] + " " + e_mail[3]); break;
case 5: Console.Write(" " + isim[4] + " " + numara[4] + " " + e_mail[4]); break;
case 6: Console.Write(" " + isim[5] + " " + numara[5] + " " + e_mail[5]); break;
case 7: Console.Write(" " + isim[6] + " " + numara[6] + " " + e_mail[6]); break;
case 8: Console.Write(" " + isim[7] + " " + numara[7] + " " + e_mail[7]); break;
case 9: Console.Write(" " + isim[8] + " " + numara[8] + " " + e_mail[8]); break;
case 10: Console.Write(" " + isim[9] + " " + numara[9] + " " + e_mail[9]); break;
}

-100 ile +100 arasında random üretilecek 20 sayılık dizi içerisinde pozitif, negatif ve 0 olanları sayıp bulacak kod satırlarını yazınız.
Kod: Tümünü seç
int[] dizi = new int[20];
int posay = 0, nesay = 0, sıfsay = 0;
Random rastgele = new Random();
for(int i = 0; i < 20; i++)
{
int sayi = rastgele.Next(-100, 100);
dizi[i] = sayi;
if (dizi[i] > 0) { posay++;}
if (dizi[i] < 0) { nesay++;}
if (dizi[i] == 0){ sıfsay++;}
}
Console.WriteLine("Pozitif Sayılar Sayısı= " + posay);
Console.WriteLine("Negatif Sayılar Sayısı= " + nesay);
Console.WriteLine("Sıfır Sayısı= " + sıfsay);

2 adet diziye 0-100 arasında rastgele sayı üretilecek. 2 dizide ortak olan sayıların sayısını bulup toplamını bulan kod satırlarını yazınız.
Kod: Tümünü seç
int sayac = 0,sayi1,sayi2;
int[] dizi1 = new int[50];
int[] dizi2 = new int[50];
Random rastgele = new Random();
for(int i = 0; i < 50; i++)
{ for(int j = 0; j < 50; j++) {
dizi1[i] = rastgele.Next(1, 51);
dizi2[j] = rastgele.Next(1, 51);
Console.WriteLine(" " +dizi1[i]);
Console.WriteLine(" " +dizi2[j]);
if (dizi1[i] == dizi2[j]) { sayac++; }
}
}
Console.WriteLine("Benzer Eleman Sayısı=" + sayac);

İki Boyutlu Diziler
İki boyutlu dizi tanımlaması yaparken tip[,] değişken_ismi =new tip[boyut1,boyut2]; şeklinde tanımlama yaparız.
1)Klavyeden satır sütun sayısı istendiğinde iki boyutlu diziye atama yapan kod satırlarını yazınız.
Kod: Tümünü seç
int sayi;
Random rastgele = new Random();
Console.Write("Satır Sayısını Giriniz=");
int a = Convert.ToInt16(Console.ReadLine());
Console.Write("Sütun Sayısını Giriniz=");
int b = Convert.ToInt16(Console.ReadLine());
int[,] dizi =new int[a,b];
for(int i = 0; i < a; i++)
{
for(int j = 0; j < b; j++)
{
for(int k = j+1; k < b; k++)
{
if (dizi[i, j] == dizi[i, k])
{
dizi[i, k] = rastgele.Next(0, 51);
}
}
Console.Write(dizi[i, j] + "-");
}
Console.WriteLine();
}

Tabloda verilen bilgilerle iki boyutlu dizi kullanarak en fazla yapılan satışı, aylara ve markalara göre satışları gösteren kod satırlarını yazınız.
Kod: Tümünü seç
int toplam1 = 0,toplam2 = 0,toplam3 = 0,toplam4=0,toplam5=0,Ocak=0,Subat=0,Mart=0;
int[,] dizi = new int[5, 3];
dizi[0, 0] = 700;
dizi[0, 1] = 600;
dizi[0, 2] = 650;
dizi[1, 0] = 900;
dizi[1, 1] = 800;
dizi[1, 2] = 700;
dizi[2, 0] = 300;
dizi[2, 1] = 400;
dizi[2, 2] = 350;
dizi[3, 0] = 500;
dizi[3, 1] = 450;
dizi[3, 2] = 470;
dizi[4, 0] = 600;
dizi[4, 1] = 500;
dizi[4, 2] = 480;
for(int i = 0; i < 5; i++)
{
Ocak = Ocak + dizi[i, 0];
Subat =Subat + dizi[i, 1];
Mart = Mart + dizi[i, 2];
}
for (int i = 0; i < 3; i++)
{
toplam1 = toplam1 + dizi[0, i];
toplam2 = toplam2 + dizi[1, i];
toplam3 = toplam3 + dizi[2, i];
toplam4 = toplam4 + dizi[3, i];
toplam5 = toplam5 + dizi[4, i];
}
Console.WriteLine("Fiat için toplam =" + toplam1);
Console.WriteLine("Renault için toplam=" + toplam2);
Console.WriteLine("VW için toplam =" + toplam3);
Console.WriteLine("Opel için toplam =" + toplam4);
Console.WriteLine("Ford için toplam =" + toplam5);
Console.WriteLine("Ocak Toplamı =" + Ocak);
Console.WriteLine("Şubat Toplamı =" +Subat);
Console.WriteLine("Mart Toplamı =" + Mart);

Ders programına dizi içerinde tanımlı dersleri rastgele atayan kod satırlarını yazınız.
Kod: Tümünü seç
int sayi;
Random rastgele = new Random();
int[,] program = new int[8, 5];
string[] gun= { "Pazartesi", "Salı ", "Çarşamba ", "Perşembe ", "Cuma " };
string[] ders = { "Fen ", "Matematik", "Türkçe ", "Sosyal ", "İngilizce", "Beden ", "Müzik " };
for(int k = 0; k < 5; k++)
{ Console.Write(gun[k]+"\t"+"|"); }
Console.Write("\n----------------------------------------------------------------------------\n");
for(int i = 0; i < 8; i++)
{ for(int j = 0; j < 4; j++)
{
do
{
sayi = rastgele.Next(0, 7);
program[i, j] = ders[sayi];
Console.Write(program[i, j] + "\t");
if (sayi == 2) {tursay++; }
} while (tursay > 6);
}
Console.Write("----------------------------------------------------------------------------\n");
