Übung: Berechnen der Durchschnittspunktzahlen von Schüler*innen
In dieser Übung berechnen und speichern Sie die Durchschnittspunktzahlen der Aufgaben der einzelnen Schüler*innen. Da Sie die Anzahl der benoteten Aufgaben für jede*n Schüler*in kennen, wird der Durchschnitt berechnet, indem die Summe der Punktzahlen durch die Anzahl der Aufgaben dividieren. Zum Speichern der Durchschnittswerte verwenden Sie den decimal-Datentyp.
Erstellen von Variablen zum Speichern des Durchschnitts
In dieser Aufgabe erstellen Sie für jede*n Schüler*in eine Variable, die zum Speichern der Durchschnittspunktzahl für die benoteten Aufgaben verwendet werden kann.
Suchen Sie im .NET-Editor nach den
Console.WriteLine()
-Anweisungen, die verwendet werden, um die summierten Punktzahlen der einzelnen Schüler*innen anzuzeigen.Fügen Sie über den
Console.WriteLine()
-Anweisungen eine leere Codezeile ein.Geben Sie in der leeren Codezeile, die Sie erstellt haben, den folgenden Code ein, um die Dezimalvariablen zu deklarieren, die für die aktuellen Punktzahlen der Schüler*innen verwendet werden:
decimal sophiaScore; decimal nicolasScore; decimal zahirahScore; decimal jeongScore;
Beachten Sie, dass Sie die
decimal
-Variablen nur deklarieren und nicht initialisieren. Sie haben dendecimal
-Typ ausgewählt, da Sie eine Durchschnittsnote darstellen und eine Dezimalstelle benötigen, die bei einem Integerwert nicht vorhanden wäre. Auf diese Weise können Sie feststellen, ob ein*e Schüler*in eine Punktzahl von 89,9 erreicht hat, und diese*n von B auf A hochstufen.In der vorherigen Übung haben Sie die ganzzahligen Variablen initialisiert, sodass Sie sie sofort in der Konsolenausgabe verwenden können. In diesem Fall werden diese
decimal
-Variablen im nächsten Schritt mithilfe von Berechnungen mit Ihren vorhandenen Daten initialisiert. Dabei wird mit Sophias Ergebnissen begonnen.Aktualisieren Sie die Variable mit dem folgenden Code, um Sophias aktuelle Punktzahl für den Kurs dem Dezimalwert
sophiaScore
zuzuweisen:decimal sophiaScore = sophiaSum / currentAssignments;
Um die aktuelle Punktzahl der Schüler*innen für den Kurs zu berechnen, dividieren Sie die Summe der Punktzahlen durch die Gesamtzahl der Aufgaben. Jede*r Schüler*in in der Klasse hat fünf Aufgaben, dargestellt durch die Variable
currentAssignments
, die Sie während des Setups initialisiert haben.Geben Sie den folgenden Code ein, um die Punktzahlen der restlichen Schüler*innen zuzuweisen:
decimal nicolasScore = nicolasSum / currentAssignments; decimal zahirahScore = zahirahSum / currentAssignments; decimal jeongScore = jeongSum / currentAssignments;
Das Ziel besteht darin, dass die Noten aller Schüler*innen in der Anwendung angezeigt werden. Im nächsten Schritt ändern Sie den Code so, dass die Punktzahl der einzelnen Schüler*innen und nicht die Summe aller Aufgabenbewertungen angezeigt wird.
Um die aktuelle Punktzahl der einzelnen Schüler*innen anzuzeigen, ersetzen Sie die Summenvariablen in den Anzeigeanweisungen durch die Punktzahlvariablen:
Console.WriteLine("Sophia: " + sophiaScore); Console.WriteLine("Nicolas: " + nicolasScore); Console.WriteLine("Zahirah: " + zahirahScore); Console.WriteLine("Jeong: " + jeongScore);
Denken Sie kurz über den inkrementellen Ansatz nach, den Sie bei der Entwicklung dieser Anwendung befolgen.
Entwickler*innen müssen Problemstellung in kleinere Bereiche unterteilen können. Wenn Sie Ihren Code inkrementell erstellen und Ihre Arbeit häufig überprüfen, können Sie schnell zuverlässige Anwendungen entwickeln. In diesem Fall können Sie
Console.WriteLine()
umfunktionieren, um zu überprüfen, ob Ihre Berechnungen korrekt sind, während Sie die einzelnen Phasen des Prozesses abschließen.Wählen Sie Ausführen aus, um die Werte der aktuellen Noten aller Schüler*innen anzuzeigen.
Die folgende Ausgabe wird angezeigt.
Sophia: 94 Nicolas: 83 Zahirah: 83 Jeong: 95
Sie sehen, dass die Punktzahlen als ganze Zahlen und nicht als Dezimalzahlen angezeigt werden.
Wenn das Ergebnis einer Division ein Dezimalwert sein soll, muss entweder der Dividend oder der Divisor (oder beide) vom Typ „decimal“ sein. Wenn Sie Integervariablen in der Berechnung verwenden, ist eine Umwandlung erforderlich, um die ganzzahligen Werte in Dezimalzahlen zu „konvertieren“.
Für die Punktzahlberechnung können Sie ein Dezimalergebnis abrufen, indem Sie entweder die Summenvariable oder
currentAssignments
in einen Dezimaltyp umwandeln. In diesem Fall wandeln Sie die Summe in eine Dezimalzahl um.Aktualisieren Sie den Code für Ihre Divisionen wie folgt, um eine Integervariable in eine Dezimalvariable umzuwandeln:
decimal sophiaScore = (decimal) sophiaSum / currentAssignments; decimal nicolasScore = (decimal) nicolasSum / currentAssignments; decimal zahirahScore = (decimal) zahirahSum / currentAssignments; decimal jeongScore = (decimal) jeongSum / currentAssignments;
Wenn der Dividend oder der Divisor ein Dezimaltyp ist, ist auch das Ergebnis der Division ein Dezimalwert. Hier wandeln Sie nur die Summenvariable um, die als Dividend verwendet wird.
Sehen Sie sich die folgende Benotungsskala an, anhand derer die Lehrkraft eine Note erteilt:
97 - 100 A+ 93 - 96 A 90 - 92 A- 87 - 89 B+ 83 - 86 B
Der nächste Schritt besteht darin, eine Note für jede*n Schüler*in basierend auf der Gesamtpunktzahl einzuschließen. Sie fügen die Note manuell zur angezeigten Ausgabe hinzu.
Wählen Sie Ausführen aus, um die Werte der aktuellen Noten aller Schüler*innen zu bestimmen.
Verwenden Sie die aktuelle Punktzahl für jede*n Schüler*in, um die geeignete Note zu bestimmen und nach Bedarf auf- oder abzurunden.
Aktualisieren Sie Ihren Code wie folgt, um die Note nach der numerischen Punktzahl der einzelnen Schüler*innen anzuzeigen:
Console.WriteLine("Sophia: " + sophiaScore + " A"); Console.WriteLine("Nicolas: " + nicolasScore + " B"); Console.WriteLine("Zahirah: " + zahirahScore + " B"); Console.WriteLine("Jeong: " + jeongScore + " A");
Überprüfen Ihrer Arbeit
In dieser Aufgabe führen Sie den Code aus und überprüfen, ob die Ausgabe korrekt ist.
Vergleichen Sie Ihren Code mit dem folgenden Code:
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");
Um Ihren Code auszuführen und die Punktzahlen der Schüler*innen mit Noten anzuzeigen, wählen Sie Ausführen aus.
Um zu überprüfen, ob Ihr Code wie erwartet funktioniert, vergleichen Sie die Ausgabe Ihrer Anwendung mit der folgenden Ausgabe:
Sophia: 94.6 A Nicolas: 83.6 B Zahirah: 83.4 B Jeong: 95.4 A
Ihr Code sollte jetzt die Punktzahlen der Schüler*innen als Dezimalwert anzeigen, und Sie sollten die von Ihnen erteilte Note sehen.
Wenn Ihr Code unterschiedliche Ergebnisse anzeigt, müssen Sie ihn überprüfen, um den Fehler zu finden und Aktualisierungen vorzunehmen. Führen Sie den Code erneut aus, um festzustellen, ob Sie das Problem behoben haben. Fahren Sie mit dem Aktualisieren und Ausführen Ihres Codes fort, bis der Code die erwarteten Ergebnisse generiert.
Wichtig
Löschen Sie auf keinen Fall den Code, den Sie bisher geschrieben haben. In der nächsten Übung bauen Sie auf diesem Code auf.