bilgiz.org

C# İle biLGİsayar programlama temelleri (C# Programlama Kitabı) Svetlin Nakov & Co

  • Alıştırmalar



  • Sayfa28/31
    Tarih02.07.2017
    Büyüklüğü3.36 Mb.

    Indir 3.36 Mb.
    1   ...   23   24   25   26   27   28   29   30   31

    11.5.6 Ad Kaplamının Kullanılması – Örnek

    Bir ad kaplamının eklenmesi prensibinin gösterilmesi için sayıları okuyan, onları listelerde kaydeden ve bunların kaç tanesinin tamsayı olduğu ve kaç tanesinin de ondalıklı sayı olduğunu hesaplayan aşağıdaki programı örnek verelim:




    class NamespaceImportTest

    {

    static void Main()



    {

    System.Collections.Generic.List ints =

    new System.Collections.Generic.List();

    System.Collections.Generic.List doubles =

    new System.Collections.Generic.List();
    while (true)

    {

    int intResult;



    double doubleResult;

    Console.WriteLine("Enter an int or a double:");

    string input = Console.ReadLine();
    if (int.TryParse(input, out intResult))

    {

    ints.Add(intResult);



    }

    else if (double.TryParse(input, out doubleResult))

    {

    doubles.Add(doubleResult);



    }

    else


    {

    break;


    }

    }
    Console.Write("You entered {0} ints:", ints.Count);

    foreach (var i in ints)

    {

    Console.Write(" " + i);



    }

    Console.WriteLine();


    Console.Write("You entered {0} doubles:", doubles.Count);

    foreach (var d in doubles)

    {

    Console.Write(" " + d);



    }

    Console.WriteLine();

    }

    }



    Bu amaçla program, System.Collections.Generic.List sınıfını tam adıyla çağırarak kullanır. Yukarıdaki programın nasıl çalıştığını görelim: Ardışık olarak 4, 1.53, 0.26, 7, 2, son. değerlerini giriyoruz. Aşağıdaki sonucu standart çıktı üzerinde elde ederiz:


    You entered 3 ints: 4 7 2

    You entered 2 doubles: 1.53 0.26


    Program şunu gerçekleştirir: Kullanıcı ardışık tamsayı yada ondalık sayı girmesine fırsat verir. Sayıdan farklı bir değere girilene kadar bu devam eder. Standart çıktı tamsayı ve ondalık sayı olmak üzere iki satırdan ibarettir.


    Anlatılan işlemlerin gerçekleştirilmesi için yardımcı olacak iki nesne türü kullanıyoruz: System.Collections.Generic.List ve System.Collections.Generic.List. Belli ki sınıfların tam adları kodu okunmaz hale getirerek zahmete neden olabilir. Kolayca bu etkiden kurtulmak için System.Collections.Generic ad kaplamını dahil edebilirsiniz. Program aşağıda verilmiştir:

    using System.Collections.Generic;
    class NamespaceImportTest

    {

    static void Main()



    {

    List ints = new List();

    List doubles = new List();



    }



    }


      1. Alıştırmalar





    1. Konsoldan yıl belirten bir sayıyı okuyan ve bu sayının bir artık yılı belirtip belirtmediğini kontrol eden bir program yazın.

    2. [100, 200] aralığında 10 rasgele sayı oluşturan ve yazdıran bir program yazın.

    3. Bugün haftanın hangi gününe denk geldiğini konsolda belirten bir program yazın.

    4. Bilgisayarın açılışından programın çalışmasını başlatan zamana dek geçen süreyi gün, saat ve dakika cinsinden belirten sayıyı hesaplayan ve standart çıktıda sonucu gösteren bir program yazın. Uygulamayı Environment sınıfını kullanarak gerçekleştirin.

    5. Standart girdiden iki kenar uzunluğu verilen bir dik üçgenin hipotenüs uzunluğunu Math sınıfına ait metotların kullanımıyla hesaplayan bir program yazın.

    6. Aşağıdaki verilerle üçgenin alanını hesaplayan birer program yazın:

    • Üç kenar uzunluğu;

    • Kenar uzunluğu ve yükseklik;

    • İki kenarı ve aralarındaki açı.

    1. CreatingAndUsingObjects ad kaplamını tanımlayın ve bu bölümdeki örneklerde kullandığımız Cat ve Sequence sınıflarını oluşturun. Bir başka ad kaplamı tanımlayın ve içinde Cat ve Sequence sınıflarına çağrı yapan bir başka sınıf oluşturun.

    2. 10 adet Cat türü nesne oluşturan bir program yazın, N nesnenin benzersiz bir seri numarası olmak üzere her birine CatN adını verin ve sonunda her biri için SayMiau() metotuna çağrı yapın. Uygulama için CreatingAndUsingObjects ad kaplamını kullanın.

    3. Bugünün tarihi ve bu tarihten sonraki bir başka verilen tarih arasında kalan iş günü sayısını hesaplayan bir program yazın. İş günleri Pazartesi-Cuma arası her gün olarak kabul edilmelidir. Resmi tatiller dışındadır. Program önceden tanımlanmış resmi tatillerin ve çalışma günü olan Cumartesilerin bir listesini tutmalıdır.

    4. Boşlukla ayrılmış sayılardan oluşan pozitif tamsayı dizisi verilmiştir. Bunların toplamını hesaplayan bir program yazın. Örnek: "68 9 43 23 318" 461.

    5. Bir ürün için rasgele reklam mesajı üreten bir program yazın. Mesaj çekici cümlelerden oluşmalı, ardından bir hikaye yaratmalısınız, ve yazar (ad, soyad), şehir listeden seçilebilir. Aşağıdaki listelerin verildiğini kabul edin:

    • Değerli ifadeler: {"mükemmel bir ürün",. "Harika bir ürün". "Bu ürünü sürekli kullanıyorum", "Bu, bu kategorideki en iyi ürün"}..

    • Değerli hikayeler: {"Şimdi daha iyi hissediyorum",. "Değiştirmeyi başardım",. "Bir mucize yarattı",. "Buna inanamıyorum, ama şimdi harika hissediyorum",. "Bu, çok çalışmalısınız. Çok memnunum"}..

    • Yazar adı: {"Dayan", "Stella", "Hellen", "Kate"}.

    • Yazar soyadı: {"Johnson", "Peterson", "Charles"}.

    • Şehirler: {"London", "Paris", "Berlin", "New York", "Madrid"}.

    Program aşağıdaki gibi rasgele oluşturulan reklam mesajı yazdıracaktır:



    I use this product constantly. You should try it, too. I am very satisfied. -- Hellen Peterson, Berlin



    1. * Verilen rakamsal bir ifadenin değerini dize olarak hesaplayan program yazın. Sayısal ifade şunları içerir:

    • gerçek sayılar, örneğin 5, 18.33, 3.14159, 12.6;

    • aritmetik işleçler: +, -, *, / (standart öncelikleriyle);

    • matematiksel fonksiyonlar: ln(x), sqrt(x), pow(x, y);

    • işlemlerin öncelik sırasını değiştiren parentezler: ( ve ).


    1   ...   23   24   25   26   27   28   29   30   31






        Ana sayfa


    C# İle biLGİsayar programlama temelleri (C# Programlama Kitabı) Svetlin Nakov & Co

    Indir 3.36 Mb.