Programlama Temelleri C# Örnek Sorular ve Çözümleri 4

csharp-300x257
1: Klavyeden bir sayı girilerek, 1 den bu sayıya kadar olan tüm sayıları ekrana yazan konsol programını
yapınız.

int a; 
  a = int.Parse(Console.ReadLine()); 
  for (int b = 1; b<=a; b++) 
  { 
  Console.WriteLine(b); 
  } 
  Console.ReadKey(); 
      //Programın 2.yolu şu şekildedir. 
  int sayi,i=1; 
  sayi=int.Parse(Console.ReadLine()); 
  while(i<=sayi) 
  { 
     Console.WriteLine(i); 
     i=i+1; 
  } 
  Console.ReadKey(); 

2: Klavyeden iki sayı girilerek, girilen bu iki sayı arasında kalan tüm sayıları ekrana yazan konsol
programını yapınız.

Cevap 

int a, b; 
  a = int.Parse(Console.ReadLine()); 
  b = int.Parse(Console.ReadLine()); 
  for (int c = a ; c<=b ; c++) 
  { 
  Console.WriteLine(c); 
  } 
  Console.ReadKey(); 
      //Programın 2.yolu şu şekildedir. 
  int sayi1, sayi2; 
  sayi1 = int.Parse(Console.ReadLine()); 
sayi2 = int.Parse(Console.ReadLine()); 
  while(sayi1<=sayi2) 
  { 
     Console.WriteLine(sayi1); 
     sayi1++; 
  } 
  Console.ReadKey(); 

3: 20′den 1′e kadar olan sayıları geriye doğru ekrana yazan konsol programını yapınız. 

  for (int a = 20; a>=1; a‐‐ ) 
  { 
  Console.WriteLine(a); 
  } 
  Console.ReadKey(); 
      //Programın 2.yolu şu şekildedir. 
  int sayi=20; 
  while (sayi>=1 ) 
  { 
     Console.WriteLine(sayi); 
     sayi=sayi‐1;// ya da sayi‐=1 
  } 
  Console.ReadKey(); 

 
 
4: 1′den 10′a kadar olan sayıların karelerini ekrana yazan konsol programını yapınız. 
Cevap 

  int a = 1,  t = 0; 
  for (int b = 1; b<=10 ; b++ ) 
  { 
  t = a * a; 
  Console.WriteLine("{0}'in karesi :{1}", b, t); 
  a++; 
  } 
  Console.ReadKey(); 
      //Programın 2.yolu şu şekildedir. 
  int kare, sayi=1; 
  while(sayi<=10) 
  { 
  kare = sayi * sayi; 
  Console.WriteLine("{0}'in karesi :{1}", sayi, kare); 
  sayi++; 
  } 
  Console.ReadKey(); 

5: Klavyeden girilen 5 sayının çarpımını ekrana yazan consol programını yapınız. 
Cevap 

  int c = 1 , sayi; 
  for (int i = 1; i<= 5; i++) 
  { 
  sayi = int.Parse(Console.ReadLine()); 
  c = sayi * c; 
  } 
  Console.WriteLine("Sayıların çarpımı={0}",c); 
  Console.ReadKey(); 
      //Programın 2.yolu şu şekildedir. 
  int carpim = 1 , sayi, sayac=1; 
  while(sayac<=5) 
  { 
  sayi = int.Parse(Console.ReadLine()); 
  carpim = sayi * carpim; 
  sayac=sayac+1; 
  } 
  Console.WriteLine("Sayıların çarpımı={0}" , carpim); 
  Console.ReadKey(); 

 
6:  Klavyeden girilen 5 adet sayıdan yalnızca pozitif olanların toplamını bulan konsol programını yapınız. 
Cevap 

  int toplam = 0, sayi; 
  for (int a = 1; a<= 5; a++ ) 
  { 
      sayi = int.Parse(Console.ReadLine()); 
      if (sayi>0) 
      { 
         toplam = toplam+sayi; 
      } 
  } 
  Console.WriteLine(toplam); 
  Console.ReadKey(); 
      //Programın 2.yolu şu şekildedir. 
  int toplam = 0, sayi,sayac=1; 
  while(sayac<=5) 
  { 
      sayi = int.Parse(Console.ReadLine()); 
      if (sayi>0) toplam = toplam+sayi; 
      sayac=sayac+1; 
  } 
  Console.WriteLine(toplam); 
  Console.ReadKey(); 

7: Klavyeden girilen 5 adet sayıdan pozitif sayıların ve negatif sayıların toplamını ayrı ayrı bulan konsol programını yapınız. 
Cevap 

  int pt = 0, nt = 0, sayi; 
  for (int a = 1; a<= 5; a++) 
  { 
      Console.WriteLine("sayilari giriniz"); 
      sayi = int.Parse(Console.ReadLine()); 
     if (sayi> 0) 
     { 
        pt = sayi + pt; 
     } 
     else 
     { 
        nt = sayi + nt; 
     } 
  } 
  Console.WriteLine("pozitif sayilarin toplami: {0}", pt); 
  Console.WriteLine("negatif sayilarin toplami: {0}", nt); 
  Console.ReadKey(); 
      //Programın 2.yolu şu şekildedir. 
  int ptoplam = 0,ntoplam=0, sayi,sayac=1; 
  while(sayac<=5) 
  { 
      sayi = int.Parse(Console.ReadLine()); 
      if (sayi>0) ptoplam = ptoplam+sayi; 
      if (sayi<0) ntoplam=ntoplam+sayi; 
      sayac=sayac+1; 
  } 
  Console.WriteLine("pozitif sayilarin toplami: {0}", ptoplam); 
  Console.WriteLine("negatif sayilarin toplami: {0}", ntoplam); 
  Console.ReadKey(); 
 

8: Klavyeden girilen 5 adet sayıdan kaç tanesinin tek olduğunu bulup, ekrana yazan konsol uygulamasını
yapınız
 
Cevap 

  int sayi, adet = 0; 
  Console.WriteLine("sayilari giriniz"); 
  for (int a = 1; a<= 5; a++) 
  { 
     sayi = int.Parse(Console.ReadLine()); 
     if (sayi % 2 == 1) 
     { 
       adet++; 
     } 
  } 
  Console.WriteLine("{0} teksayi var", adet); 
  Console.ReadKey(); 
      //Programın 2.yolu şu şekildedir. 
  int sayi, adet = 0, sayac=1;
while (sayac<=5) 
  { 
     Console.WriteLine("Sayı giriniz"); 
     sayi = int.Parse(Console.ReadLine()); 
     if (sayi % 2 == 1)  adet++; 
     sayac=sayac+1; 
  } 
  Console.WriteLine("{0} teksayi var", adet); 
  Console.ReadKey(); 

 
9:  Klavyeden “1″  girilinceye kadar girilen tüm sayıların toplamını ekrana yazan konsol programını
yapınız. 

Cevap 

  int toplam = 0, sayi; 
  sayi=5; // Burada sayi değişkenine döngünün içine girebilsin diye 
         //  1 den farklı herhangi bir değer atıyoruz. 
  while (sayi != 1) 
  { 
  sayi = int.Parse(Console.ReadLine()); 
  toplam = sayi + toplam; 
  } 
  Console.WriteLine("sayıların toplamı= {0}", toplam); 
  Console.ReadKey() 

 
10:  Sayı tahmin oyununu yapınız. Kullanıcıya 3 tahmin hakkı verilecektir. 
Cevap 

  int a,sayi,tutulan_sayi ; 
  //Rastgele sayı üretmek için Random deyimi kullanıyoruz. 
  Random rasgele = new Random(); 
  tutulan_sayi = rasgele.Next(1, 50); 
  for (a = 1; a<= 3; a++) 
  { 
      sayi= int.Parse(Console.ReadLine()); 
      if (sayi== tutulan_sayi) 
      { 
          Console.WriteLine("tebrik ederiz dogru bildiniz"); 
          break; 
      } 
     else 
      { 
           Console.WriteLine("bir daha deneyin"); 
       } 
  } 
  if (a==4) Console.WriteLine("Hakkınız bitti.Tuttuğum sayı={0}",tutulan_sayi); 
  Console.ReadKey(); 
 

Programlama Temelleri C# Örnek Sorular ve Çözümleri 3

csharp-300x257
1 : Kullanıcının girdiği 5 adet sayıyı bir diziye atayarak, bu dizide bulunan çift sayıların ortalamasını
ekrana yazan konsol uygulamasını yapınız. 

Cevap 

  static void Main(string[] args) 
  { 
  int adet=0,toplam=0; 
  int[] sayi=new int[5]; 
  for (int k=0;k<5;k++) 
  { 
     Console.Write("{0}. sayıyı giriniz:",k); 
     sayi[k]=int.Parse(Console.ReadLine()); 
  } 
  for (int k=0;k<5;k++) 
  { 
      if(sayi[k]%2==0) 
      { 
        adet++; 
        toplam+=sayi[k]; 
      } 
  } 
  Console.WriteLine("Ortalaması={0}",toplam/adet); 
  Console.ReadKey(); 
  } 

2 : Kullanıcı klavyeden bir harf girerek ve bir sayı girerek , yazdır() isimli fonksiyon ile girilen sayı 
kadar harfi 1 eksilterek ekrana yazan konsol uygulamasını yapınız. 

Harf giriniz: a 
Sayı giriniz:5 
aaaaa 
aaaa 
aaa 
aa 

static void Main(string[] args) 
  { 
  string harf; 
  int sayi; 
  Console.WriteLine("harfi giriniz"); 
  harf = Console.ReadLine(); 
  Console.WriteLine("sayıyı giriniz"); 
  sayi = int.Parse(Console.ReadLine()); 
  Yazdir(harf, sayi); 
  Console.ReadKey(); 
  } 
      //Yazdir() Fonksiyonu 
  static void Yazdir(string x, int y) 
          { 
              for (int i = y; i >= 1; i‐‐) 
              { 
                  for (int k = i; k >= 1; k‐‐) 
                  { 
                      Console.Write(x); 
                  } 
                  Console.WriteLine(); 
              } 
              } 

 

3: Girilen bir metni tersten yazdıran konsol uygulamasını yapınız. 
Cevap 

              string metin; 
              int uzunluk; 
              metin = Console.ReadLine(); 
              uzunluk = metin.Length; 
              for (int a = uzunluk ‐ 1; a >= 0; a‐‐) 
              { 
                  Console.Write(metin[a]); 
              } 
              Console.ReadKey();  

Girilen bir cümlede, bulunan kelimeler arasındaki boşluklar olmadan bitişik bir şekilde 
ekrana yazan konsol uygulamasını yapınız. 

Cevap 
      

        int uzunluk; 
              string metin; 
              metin = Console.ReadLine(); 
              uzunluk=metin.Length; 
              for (int a=0;a<=uzunluk‐1;a++) 
              { 
                  if (metin[a]!= ' ') 
                  { 
                      Console.Write(metin[a]); 
                  } 
              } 
              Console.ReadKey(); 

5: Ekrana 10 kez “Bilişim Teknolojileri” yazan konsol uygulamasını yapınız. 
Cevap 

  // Ekrana 10 kez “Bilişim Teknolojileri” yazan consol uygulaması 
  int a; //burada tanımlamayıp, for(int a=1;a<=10;a++) şeklinde kullanabilirsin. 
  for (a = 1; a<=10; a++ ) 
  { 
     Console.WriteLine("bilişim öğrenci"); 
  } 
  Console.ReadKey(); 
  // Programın 2. yolu şu şekildedir. 
  int a=1; 
  while (a<=10) 
  { 
      Console.WriteLine("bilişim öğrenci"); 
      a++; 
  } 
  Console.ReadKey(); 

6: Klavyeden kullanıcının adı okunarak, ekrana 20 kez adını yazan konsol uygulamasını yapınız. 

Cevap 

  //Klavyeden kullanıcının adı okunarak, ekrana 20 kez adını yazan konsol uygulaması 
  string ad; 
  ad = Console.ReadLine(); 
  for (int b=1;b<=20; b++) 
  { 
  Console.WriteLine(ad); 
  } 
  Console.ReadKey(); 
  // Programın 2.yolu şu şekildedir. 
  string isim; 
  int i=1; 
  isim=Console.ReadLine(); 
  while(i<=20) 
  { 
      Console.WriteLine(isim); 
      i++; } 
  Console.ReadKey(); 

7: 1 den 30′a kadar olan sayıları ekrana yazan konsol programını yapınız. 
Cevap 

  for (int a=1 ; a<=30 ; a++) 
  { 
  Console.WriteLine(a); 
  } 
  Console.ReadKey(); 
  // Programın 2.yolu şu şekildedir. 
  int sayi=1; 
  while(sayi<=30) 
  { 
     Console.WriteLine(sayi); 
     sayi++; 
  } 
  Console.ReadKey(); 

 
Soru 8. 1 den 50′ye kadar olan sayılardan 5′in katı olanları ekrana yazan konsol programını yapınız. 
Cevap 

  for(int a=5;a<=50; a+=5) 
  { 
      Console.WriteLine(a); 
  } 
  Console.ReadKey(); 
      // Programın 2.yolu şu şekildedir. 
  int i=5; 
  while(i<=50) 
  { 
      Console.WriteLine(i); 
       i+=5; // Bu kod yerine i=i+5 kullanılabilir. 
  } 
  Console.ReadKey(); 
 

Soru 9: 1′den 50′ye kadar olan tek sayıları ekrana yazan konsol programını yapınız. 
Cevap 

  for(int a=1 ; a<=50 ; a+=2) 
  { 
  Console.WriteLine(a); 
  } 
  Console.ReadKey(); 
      // Programın 2.yolu şu şekildedir. 
  int i=1; 
  while(i<=50) 
  { 
     Console.WriteLine(i); 
     i+=2; // bu kod yerine i=i+2 kullanılabilir. 
  } 
  Console.ReadKey(); 

Soru 10: 1′den 50′ye kadar olan çift sayıları ekrana yazan konsol programını yapınız. 
Cevap 

  for(int a=0;a<=50;a+=2) 
  { 
  Console.WriteLine(a); 
  } 
  Console.ReadKey(); 
      // Programın 2.yolu şu şekildedir. 
  int sayi=0; 
  while(sayi<=50) 
  { 
      Console.WriteLine(sayi); 
      sayi+=2; 
  } 
  Console.ReadKey(); 
 

Programlama Temelleri C# Örnek Sorular ve Çözümleri 2

csharp-300x257
Programlama Temelleri C# örnek soru ve çözümleri konusunda
C# Döngüler (for,while)
C# Karşılaştırma Opreratörleri (if, switch case)
C# Metotlar
konularında C# Örnekleri ve çözümleri yer almaktadır

Soru 1: Kullanıcının adı ve bir sayı klavyeden girilerek, girilen sayı kadar ekrana kullanıcının adını 
yazan konsol programını yapınız. 

string ad; 
  int adet=0; 
  Console.Write("Adınızı giriniz: "); 
  ad = Console.ReadLine(); 
  Console.Write("Kaç kere tekrarlansın :"); 
  adet = Convert.ToInt32(Console.ReadLine()); 
  for (int i = 0; i < adet; i++) 
  { 
   Console.WriteLine(ad); 
  } 
  Console.ReadKey(); 

Soru 2: 2+5+8+11+14+17+20+23+26+29+32+35…….+50 şeklindeki matematiksel serinin toplamını bulup, 
ekrana yazan konsol programını yapınız. 

int toplam = 0; 
  for (int i = 2; i <= 50; i += 3) 
  { 
       toplam += i; 
  } 
  Console.Write("Toplam= " + toplam); 
  Console.ReadKey(); 

Soru 3: Klavyeden 10 adet sayı girilerek, bu sayılardan çift olanların toplamını bulup, ekrana yazan 
konsol programını yapınız. 

int sayi=0,toplam=0; 
  for (int i = 1; i <= 10; i++) 
  { 
   Console.Write("{0} Sayıyı giriniz: ", i); 
   sayi = Convert.ToInt32(Console.ReadLine()); 
   if (sayi % 2 == 0) 
      { 
         toplam += sayi; 
      } 
  } 
  Console.Write("Çift Sayıların Toplamı: " + toplam); 
  Console.ReadKey(); 
 

 
Soru 4: Aşağıda kodları yazılmış olan programın bellek değişken değerlerini ve ekran çıktısını bulunuz. 

  
int  i=10; 
  while (i>1) 
  { 
      for (int j=1 ; j<i ; j=j+2) 
       { 
         Console.Write(i); 
  } 
          Console.WriteLine(); 
          i‐‐; 
  } 
 

Soru 5. 1 + 2 + 3 + 4 + 5 + ……………. 10 şeklindeki matematiksel serinin toplamını bulup ekrana yazan konsol 
uygulamasını yapınız. 

 

  int toplam = 0; 
  for (int i = 1; i <=10; i++) 
  { 
     toplam += i; 
  } 
  Console.Write("Toplam= " + toplam); 
  Console.ReadKey(); 
 

Soru 6. 

** 
*** 
**** 
***** 
****** 
 
Yukarıda görüldüğü gibi bir ekran çıktısı veren consol programını yapınız. NOT: Program döngü kullanılarak
 yapılacaktır. 
 
Cevap: 

  for (int i = 1; i <= 6; i++) 
  { 
     for (int k = 1; k <= i; k++) 
      { 
          Console.Write("*"); 
       } 
      Console.WriteLine(); 
  } 
  Console.ReadKey(); 
 

Soru 7: Klavyeden girilen 5 adet sayıdan kaç tanesinin negatif olduğunu bulan konsol programını  yapınız. 
 
Cevap: 

  int sayilar = 0, adet=0; 
  for (int i = 1; i < 6; i++) 
  { 
     Console.Write("{0} Sayıyı giriniz: ", i); 
     sayilar = Convert.ToInt32(Console.ReadLine()); 
     if (sayilar < 0) 
   { 
      adet++; 
   }
} 
  Console.Write("{0} Adet sayı negatif", adet); 
  Console.ReadKey(); 

Soru 8: Kullanıcı tarafından girilen taban ve us değerlerini UsAl() isimli bir fonksiyona göndererek,
 tabanın üssünü alıp, sonucu ana programda yazdıran console uygulamasını yapınız. 

  static void Main(string[] args) 
  { 
  int taban, us; 
  taban = int.Parse(Console.ReadLine()); 
  us = int.Parse(Console.ReadLine()); 
  int sonuc = UsAl(taban,us); 
  Console.WriteLine(sonuc); 
  Console.ReadKey(); 
  } 
      //UsAl() Fonksiyonu 
  static int UsAl(int x, int y) 
  { 
          int sonuc=1; 
          for (int i = 1; i <= y; i++) 
          { 
              sonuc *= x; 
          } 
          return sonuc; 
      } 
 

Soru 9 : Kullanıcı tarafından girilen bir cümlede sesli harflerin sayısını bulan konsol uygulamasını  yapınız. 

Cevap: 

  static void Main(string[] args) 
  { 
  int adet = 0; 
  string cumle; 
  cumle = Console.ReadLine(); 
  for (int i = 0; i < cumle.Length; i++) 
  { 
  if (cumle[i]=='a' || cumle[i]=='e' || cumle[i]=='ı'|| cumle[i]=='i' || 
  cumle[i]=='u' || cumle[i]=='ü' || cumle[i]=='o' || cumle[i]=='ö') 
  { 
  adet++; 
  } 
  } 
  Console.WriteLine("sesli harf sayısı: {0}",adet); 
  Console.ReadKey(); 
  } 

      // 2.yolu 

  static void Main(string[] args) 
  { 
  string cumle; 
  char[] sesli = { 'a','e','ı','i','u','ü','o','ö'}; 
int adet = 0; 
  cumle = Console.ReadLine(); 
  for (int i = 0; i < cumle.Length; i++) 
  { 
   for (int k = 0; k < sesli.Length; k++) 
   { 
       if (cumle[i]==sesli[k]) 
       { 
           adet++; 
        } 
      } 
  } 
  Console.WriteLine("sesli harf sayısı : {0}",adet); 
  Console.ReadKey(); 
  } 

      // 3.yolu 

      static void Main(string[] args) 
  { 
  string cumle; 
  int adet; 
  cumle = Console.ReadLine(); 
adet = SesliBul(cumle); 
  Console.WriteLine("sesli harf sayısı : {0}",adet); 
  Console.ReadKey(); 
  } 
  // SesliBul() Fonksiyonu 
  static int SesliBul(string a) 
          { 
              char[] sesli = { 'a', 'e', 'ı', 'i', 'u', 'ü', 'o', 'ö' }; 
              int b = 0; 
              for (int i = 0; i < a.Length; i++) 
              { 
                  for (int k = 0; k < sesli.Length; k++) 
                  { 
                      if (a[i] == sesli[k]) 
                      { 
                          b++; 
                      } 
                  } 
                  } 
              return b; 
          } 

Soru 10 : Kullanıcının girmiş olduğu bir ismi, program içinden atanan 10 elemanlı bir dizide arayan ve 
ismin bu dizide bulunup bulunamadığını, varsa kaçıncı indiste olduğunu yazan console uygulamasını yapınız. Bul()
 isimli bir fonksiyon kullanınız. 

Cevap 

  static void Main(string[] args) 
  { 
string isim; 
  isim = Console.ReadLine(); 
  int indis = Bul(isim); 
  if (indis == ‐1) 
  { 
     Console.WriteLine("girilen isim dizide yoktur!"); 
  } 
  else 
  { 
     Console.WriteLine("isminiz dizinin {0}. elemanıdır", indis+1); 
  } 
  Console.ReadKey(); 
  } 
      //Bul() Fonksiyonu 
  static int Bul(string ad) 
  { 
  string[] isimler = {"ahmet","mehmet","hasan","şakir", 
  "şevket","hüseyin","mert","murtaza","muhittin","ali"}; 
  for (int i = 0; i < isimler.Length; i++) 
  { 
  if (ad==isimler[i]) 
  { 
   return i; 
  } 
  } 
  return ‐1; 
  }