C# Programlama Dili ile İlgili Örnek Sorular

Soru 1) Bir dersten 2 sınav yapılacaktır, 2 sınavınm ortalaması 50'den küçükse öğrenci 3.sınava girecektir. Öğrenci 3. sınava girerse, tekrar 3 sınavın ortalaması hesaplanacaktır.  Ortalama 50'den küçük ise "Başarısız oldunuz", büyük ise "Tebrikler, geçtiniz" yazan programı yazınız. 

using System;
 
namespace ifGectiKaldi
{
    class Program
    {
        static void Main(string[] args)
        {
           
            double not1=0, not2=0, not3=0, ortalama=0;

            // 1. sınav notunu alıyoruz
            Console.Write("1. Sınav Notunu Giriniz:");
            not1 = double.Parse(Console.ReadLine());
 
           // 2. sınav notunu alıyoruz
            Console.Write("2. Sınav Notunu Giriniz:");
            not2 = double.Parse(Console.ReadLine());
 
            // 2 sınavın ortalamasını buluyoruz
            ortalama = (not1 + not2) / 2.0;
 
           // ortalama değeri 50'den küçükse 3. sınavı soruyoruz
            if (ortalama < 50)
            {
                Console.WriteLine("Ortalamanız 50'nin altında, {0}",ortalama);
                Console.Write("3. Sınav notunu giriniz:");
                not3 = double.Parse(Console.ReadLine());
             
  //Tekrar 3. sınavı da içine alarak ortalama hesaplatıyoruz
                ortalama = (not1 + not2 + not3) / 3.0;
            }
                
            Console.WriteLine("Ortalamanız:{0}", ortalama);
 
            // Son olarak ortalama değerine göre if şartı ile kontrol edip, geçti kaldı mesajı veriyoruz.
             if (ortalama >= 50)
                Console.WriteLine("Tebrikler, geçtiniz");
            else
                Console.WriteLine("Üzgünüm, başarısız oldunuz.");
 
        }
    }
}


Soru 2: 1/1! + 1/2! + 1/3! +...+1/n! toplamını klavyeden girilen n değerine göre bulunuz. Bu soruda faktöriyel hesabı için bir metod yazılması zorunludur.  

using System;
 
namespace FaktoriyelDiziToplam
{
    class Program
    {
 
        //faktöriyel hesabı yapan metodumuz
        static int faktoriyel(int n)
        {
            int sonuc = 1;
            for (int i=1; i<=n; i++)
            {
                sonuc *= i;
 
            }
            return (sonuc);
        }

        // main metodumuz
        static void Main(string[] args)
        {
 
            Console.WriteLine("1/1! + 1/2! + 1/3! + ... + 1/n! İşlemi için"); 
            Console.Write("n değerini giriniz:");
         
            int n = int.Parse(Console.ReadLine());
            double toplam = 0;
         
         
 // toplamı döngü içinde faktöiyel metodunu çağırarak hesaplatıyoruz
            for(int k=1; k<=n; k++)
            {
                toplam += (double)(1.0/ faktoriyel(k));
            }
           
            Console.WriteLine("Sonuç:{0}", toplam);
        }
    }
}



Soru 3:  İkinci derece denklemin köklerini bulan bir metod yazınız. Metod a,b,c değerlerine göre denklemin köklerini hesaplayacaktır.

 
using System;
 
namespace MetodİkinciDereceDenklem
{
    class Program
    {
 
       //denklemHesapla metodumuz geriye string(metinsel) bir değer döndürüyor
       // parametre olarak integer tipte a,b,c değerlerini alıyor

       static string denklemHesapla(int a, int b, int c)
        {
            double delta = b * b - 4 * a * c;
            double x1=0, x2=0;
            string sonuc="";
 
           //1.durum delta sıfırdan küçük 
           if (delta < 0) {
               sonuc="Kökler reel değil";
            }
         
 // 2. durum delta sıfıra eşit
            else if (delta==0){
                  
                x1= (-1)*b/(2*a);
                x2=x1;
                sonuc = "Kökler eşit, x1 = x2 = "+x1;
            } 
   
        // 3. durum delta sıfırdan büyük
            else if (delta>0)
            {
                x1 = ((-1) * b - Math.Sqrt(delta)) / (2 * a);
                x2 = ((-1) * b + Math.Sqrt(delta)) / (2 * a);
                sonuc = "Kökler Farklı, x1=" + x1 + ", x2=" + x2;
            }
            return (sonuc);
        }
 
 
        // Main metodu buradan başlıyor.
        static void Main(string[] args)
        {
            Console.Write("a değerini giriniz:");
            int adegeri = int.Parse(Console.ReadLine());
 
            Console.Write("b değerini giriniz:");
            int bdegeri = int.Parse(Console.ReadLine());
 
            Console.Write("c değerini giriniz:");
            int cdegeri = int.Parse(Console.ReadLine());
 
            // Main içinden denklemHesapla metodunu çağırıyoruz.
            string cozum = denklemHesapla(adegeri, bdegeri, cdegeri);
            Console.WriteLine(cozum);
        }
    }
}
 


 

Soru 4:  Aşağıda verilen iki dizinin indisleri arasında çarpma işlemi uyguladıktan sonra mod 5'e göre değerini yeni bir dizye yazdırınız.

dizi1={1, 3, 2, 7, 11, 14, 20}
dizi2={5, 6, 7, 8, 15, 16, 22}

Örneğin;
(1*5) % 5 = 0
(3*6) % 5 = 3
(2*7) % 5 = 4

using System;
 
namespace DiziCarpimModAlma
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] dizi1 = { 1, 3, 2, 7, 11, 14, 20 };
            int[] dizi2 = { 5, 6, 7, 8, 15, 16, 22 };
            int[] dizi3 = new int[dizi1.Length];
 
            for (int i=0; i< dizi1.Length; i++)
            {
                dizi3[i] = (dizi1[i] * dizi2[i]) % 5;
                Console.WriteLine("dizi[{0}]={1} ",i,dizi3[i]);
            }
 
        }
    }
}





Mutlu Kodlamalar,
Oğuzhan TAŞ
Mayıs, 2015
 

Bookmark and Share