Alıştırma - Öğrencinin ödev puanlarının ortalamasını hesaplama

Tamamlandı

Bu alıştırmada, her öğrencinin ödev puanlarının ortalamasını hesaplayacak ve depolayacaksınız. Her öğrenci için puanlanan ödev sayısını bildiğiniz için, ödev puanlarının toplamı ödev sayısına bölünerek ortalama hesaplanır. Ortalamaları depolamak için Ondalık veri türünü kullanacaksınız.

Ortalamayı depolamak için değişkenler oluşturma

Bu görevde, her öğrenci için notlanan ödevlerinin ortalama puanını depolamak için kullanılabilecek bir değişken oluşturacaksınız.

  1. .NET Düzenleyicisi'nde, her öğrencinin toplam puanlarını görüntülemek için kullanılan deyimleri bulun Console.WriteLine() .

  2. Deyimlerin üzerinde Console.WriteLine() boş bir kod satırı oluşturun.

  3. Oluşturduğunuz boş kod satırında, öğrencilerin geçerli puanları için kullanılacak Ondalık değişkenlerini bildirmek için aşağıdaki kodu girin:

    decimal sophiaScore;
    decimal nicolasScore;
    decimal zahirahScore;
    decimal jeongScore;
    
    

    Değişkenleri yalnızca bildirdiğinize ve başlatmadığınıza decimal dikkat edin. Türü seçtiniz decimal çünkü ortalama bir notu temsil ediyordunuz ve bir tamsayı kullandıysanız kullanılamayabilecek bir ondalık basamak eklemek istiyorsunuz. Bu şekilde, öğrencinin 89,9 puan alıp almadiğini görebilir ve bu puanı B'den A'ya çıkarabilirsiniz.

    Önceki alıştırmada, konsol çıkışınızda hemen kullanabilmek için tamsayı değişkenlerini başlatmıştınız. Bu durumda, bu decimal değişkenler sophia'nın puanıyla başlayarak mevcut verilerinizle hesaplamalar kullanılarak bir sonraki adımda başlatılır.

  4. Sophia'nın sınıftaki geçerli puanını ondalık sophiaScoredeğerine atamak için değişkenini aşağıdaki kodla güncelleştirin:

    decimal sophiaScore = sophiaSum / currentAssignments;
    
    

    Öğrencinin sınıf için geçerli puanını hesaplamak için, ödev puanlarının toplamını toplam ödev sayısına bölersiniz. Sınıftaki her öğrencinin, kurulum sırasında başlatmış olduğunuz ile temsil edilen currentAssignments beş ödevi vardır.

  5. Öğrencilerin kalan puanlarını atamak için aşağıdaki kodu girin:

    decimal nicolasScore = nicolasSum / currentAssignments;
    decimal zahirahScore = zahirahSum / currentAssignments;
    decimal jeongScore = jeongSum / currentAssignments;
    
    

    Sonuç olarak, bu uygulamadaki her öğrencinin notlarını görüntülemek istiyorsunuz. Sonraki adımda, her öğrencinin ödev toplamını değil puanını görüntülemek için kodu değiştireceksiniz.

  6. Her öğrencinin geçerli puanını görüntülemek için, görüntüleme deyimlerindeki toplam değişkenlerini puan değişkenleriyle değiştirin:

    Console.WriteLine("Sophia: " + sophiaScore);
    Console.WriteLine("Nicolas: " + nicolasScore);
    Console.WriteLine("Zahirah: " + zahirahScore);
    Console.WriteLine("Jeong: " + jeongScore);
    
    
  7. Bu uygulamayı geliştirmek için kullandığınız artımlı yaklaşımı göz önünde bulundurmak için bir dakikanızı alın.

    Bir sorunu daha küçük parçalara ayırmak geliştiriciler için önemli bir beceridir. Kodunuzu artımlı olarak oluşturma ve çalışmalarınızı sık sık denetleme, hızlı bir şekilde güvenilir uygulamalar geliştirmenizi sağlar. Bu durumda, işlemdeki her aşamayı tamamladığınızda hesaplamalarınızın doğru olduğunu doğrulamak için yeniden kullanabileceksiniz Console.WriteLine() .

  8. Her öğrencinin geçerli notunun değerlerini görüntülemek için Çalıştır'ı seçin.

    Aşağıdaki çıkışı görmeniz gerekir:

    Sophia: 94
    Nicolas: 83
    Zahirah: 83
    Jeong: 95
    
  9. Puanların ondalık yerine tamsayı olarak görüntülendiğine dikkat edin.

    Bölme hesaplamasının sonucunun ondalık bir değer olmasını istediğinizde, bölme veya bölen ondalık (veya her ikisi) türünde olmalıdır. Hesaplamada tamsayı değişkenlerini kullandığınızda, tamsayıyı ondalık sayıya "dönüştürmek" için atama olarak bildiğiniz bir teknik uygulamanız gerekir.

    Puan hesaplaması için, toplam değişkenini veya currentAssignments ondalık türü olarak dönüştürerek ondalık bir sonuç elde edebilirsiniz. Bu durumda, toplamı ondalık olarak atacaksınız.

  10. Bölme işlemlerinizde, bir tamsayı değişkenini ondalık olarak değiştirmek için kodunuzu aşağıdaki gibi güncelleştirin:

    decimal sophiaScore = (decimal) sophiaSum / currentAssignments;
    decimal nicolasScore = (decimal) nicolasSum / currentAssignments;
    decimal zahirahScore = (decimal) zahirahSum / currentAssignments;
    decimal jeongScore = (decimal) jeongSum / currentAssignments;
    

    Bölmenin ondalık değerle sonuçlanması için bölmenin veya bölenin yalnızca ondalık tür olması gerekir. Burada, yalnızca kar payı olarak kullanılan sum değişkenini yayınlarsınız.

  11. Öğretmenin harf notları atamak için kullandığı aşağıdaki not ölçeğini gözden geçirin:

    97 - 100    A+
    93 - 96     A
    90 - 92     A-
    87 - 89     B+
    83 - 86     B
    

    Sonraki adım, her öğrenci için toplam puanına göre bir harf notu eklemektir. Görüntülenen çıkışa harf notunun eklenmesi el ile gerçekleştirilen bir işlem olacaktır.

  12. Her öğrencinin geçerli notunun değerini belirlemek için Çalıştır'ı seçin.

    Uygun harf notunu belirlemek ve gerektiğinde yukarı veya aşağı yuvarlayarak her öğrenci için geçerli notu kullanın.

  13. Her öğrencinin sayısal puanının sonuna harf notu eklemek için kodunuzu aşağıdaki gibi güncelleştirin:

    Console.WriteLine("Sophia: " + sophiaScore + " A");
    Console.WriteLine("Nicolas: " + nicolasScore + " B");
    Console.WriteLine("Zahirah: " + zahirahScore + " B");
    Console.WriteLine("Jeong: " + jeongScore + " A");
    

Çalışmanızı Denetleme

Bu görevde kodu çalıştıracak ve çıkışın doğru olduğunu doğrulayacaksınız.

  1. Kodunuzu aşağıdakilerle karşılaştırın:

    int currentAssignments = 5;
    
    int sophia1 = 93;
    int sophia2 = 87;
    int sophia3 = 98;
    int sophia4 = 95;
    int sophia5 = 100;
    
    int nicolas1 = 80;
    int nicolas2 = 83;
    int nicolas3 = 82;
    int nicolas4 = 88;
    int nicolas5 = 85;
    
    int zahirah1 = 84;
    int zahirah2 = 96;
    int zahirah3 = 73;
    int zahirah4 = 85;
    int zahirah5 = 79;
    
    int jeong1 = 90;
    int jeong2 = 92;
    int jeong3 = 98;
    int jeong4 = 100;
    int jeong5 = 97;
    
    int sophiaSum = sophia1 + sophia2 + sophia3 + sophia4 + sophia5;
    int nicolasSum = nicolas1 + nicolas2 + nicolas3 + nicolas4 + nicolas5;
    int zahirahSum = zahirah1 + zahirah2 + zahirah3 + zahirah4 + zahirah5;
    int jeongSum = jeong1 + jeong2 + jeong3 + jeong4 + jeong5;
    
    decimal sophiaScore = (decimal) sophiaSum / currentAssignments;
    decimal nicolasScore = (decimal) nicolasSum / currentAssignments;
    decimal zahirahScore = (decimal) zahirahSum / currentAssignments;
    decimal jeongScore = (decimal) jeongSum / currentAssignments;
    
    Console.WriteLine("Sophia: " + sophiaScore + " A");
    Console.WriteLine("Nicolas: " + nicolasScore + " B");
    Console.WriteLine("Zahirah: " + zahirahScore + " B");
    Console.WriteLine("Jeong: " + jeongScore + " A");
    
  2. Kodunuzu çalıştırmak ve harf notlarıyla öğrenci puanlarını görüntülemek için Çalıştır'ı seçin.

  3. Kodunuzun beklendiği gibi çalıştığını doğrulamak için uygulamanızın çıkışını aşağıdaki çıkışla karşılaştırın:

    Sophia: 94.6 A
    Nicolas: 83.6 B
    Zahirah: 83.4 B
    Jeong: 95.4 A
    

    Kodunuz artık öğrenci puanlarını ondalık değer olarak görüntülemeli ve atadığınız harf notunu görmeniz gerekir.

    Kodunuz farklı sonuçlar görüntülüyorsa hatanızı bulmak ve güncelleştirmeler yapmak için kodunuzu gözden geçirmeniz gerekir. Sorunu düzeltip düzeltmediğinize bakmak için kodu yeniden çalıştırın. Kodunuz beklenen sonuçları elde edene kadar kodunuzu güncelleştirmeye ve çalıştırmaya devam edin.

Önemli

Şimdiye kadar yazdığınız kodlardan hiçbirini silmediğinizden emin olun. Sonraki alıştırmada bu kodu oluşturacaksınız.