Csharp Programlama Dili ile Örnek Sorular

Soru 1)  2000 ile 3000 arasında; 19’nin katı olan sayıların adedini bulunuz. (Metot isterseniz kullanabilirsiniz.)

Bu problemi çözmek için yine mod alma işleminden yararlanıyoruz. 2000 ile 3000 arasındaki sayıları gözden geçirmek için 2000'den başlayıp, 3000'de son bulan ve birer birer artan bir for döngüsüne ihtiyacımız var. Mod 19'a göre kalanı bulmak için döngü içinde, sayının 19'a bölümü sıfır mı anlamaına gelen, if (sayi % 19 ==0) gibi bir şarta ihtiyacımız var. 

using System;
 
namespace formodile19abolunebilme
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayac=0;
            for(int i=2000; i<=3000;i++)
            {
                if (i % 19 == 0)
                {
                    Console.WriteLine(i);
                    sayac++;
                }
 
            }
 
            Console.WriteLine("2000 ile 3000 arasında 19 a tam bölünen {0} sayı var.",sayac);
        } 
    }
}

Yukarıdaki problemi metod kullanarak yapmak istersek, sayı aralığını ve kalansız bölünecek sayıyı göndereceğiz. KalansizBolenBul() isimli bir metod ismi verelim. İşlemin sonunda tam bir sayı döneceğinden  metod isminden önce int kullanacağız. Parametre olarak başlangıç, bitiş ve tam bölünecek sayı alınacak. Yani aşağıdaki gibi bir metod tanımı olacak.

 static int KalansızBolenBul(int baslangic, int bitis, int sayi)

Şimdi aşağıdaki çözümü incelemeden önce siz problemi kendiniz çözmeye çalışın, daha sonra karşılaştırıp nerede hata yaptığınızı bulmaya çalışın. Konu eksiğiniz varsa Csharp Dersleri bölümünden konu anlatımlarımı gözden geçiriniz.

using System;
 
namespace metodile19aBolumuBulma
{
    class Program
    {
        static int KalansızBolenBul(int baslangic, int bitis, int sayi)
        { 
            int sayac=0;
            for (int i = baslangic; i <= bitis; i++)
                if (i % sayi == 0)
                {
                    sayac++;
                }
            return (sayac);
        
        }
 
        static void Main(string[] args)
        {
  
            Console.WriteLine("2000 ile 3000 arasında 19 a tam bölünen {0} sayı var.",KalansızBolenBul(2000,3000,19));
 
        }
    }
}


 
 
Soru 2) Plakayı parametre alarak, il adını döndüren bir metod yazınız.  (Örnek iller ve plakaları: 23:Elazığ, 06: Ankara, 42:Konya, 25:Erzurum, 35:İzmir)

using System;
 
namespace MetodPlakaSehirBul
{
    class Program
    {
 
        static string plakaSehirBul(string plaka)
        {
            string sehir="", sonuc;

            if (plaka == "06")
                sehir = "Ankara";
 
            else if (plaka == "23")
                sehir = "Elazığ";

            else if (plaka == "34")
                sehir = "İstanbul";
 
            if (sehir != "")
                return (sehir);
            else 
                return ("Şehir bulunamadı");
        }


        static void Main(string[] args)
        {
           string bulunacakPlaka, bulunanSehir;

            Console.Write("Plaka Giriniz :");
            bulunacakPlaka = Console.ReadLine();

            bulunanSehir = plakaSehirBul(bulunacakPlaka);
            Console.WriteLine(bulunanSehir);
 
        }
    }
}



Soru 3: Verilen 1/5 + 2/5 + 3/5 +...+n/5 şeklinde bir sayı dizisi toplamını klavyeden girilen n değerine göre bulunuz. Bu soruda metod ile yazılması zorunludur.

Burada dikkat edecek olursak dizideki sayılar, yani paydalar hep 5'e bölünüyor.  Pay kısmı ise 1,2,3,4,5, ... , n şeklinde gidiyor. O zaman pay kısmını düşünerek bir for döngüsü yazıp, döngü içinde toplamı bulacağız.

using System;
 
namespace MetodDiziBolumBul
{
    class Program
    {
 
        static double Bolum(int n)
        {
 
            double toplam=0;
            for (int i = 1; i <= n; i++)
            {
                toplam += i / 5.0;
            }
 
            return (toplam);
        }
        static void Main(string[] args)
        {
 
            Console.Write("n değerini giriniz:");
            int n = int.Parse(Console.ReadLine());
 
            Console.WriteLine("Sonuç:{0}", Bolum(n));
            
        }
 
    }
}



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