Kursinhalt
C# Grundlagen
C# Grundlagen
2. Umgang mit Datentypen
Ganzzahl-DatentypenHerausforderung: Explizit Typisierte Variablen DeklarierenGleitkommazahlen und DoubleBooleansZeichenZeichenketteStrings HerausforderungGrundlegende ZeichenfolgenformatierungHerausforderung: StringformatierungKonstanten DeklarierenGrundlegende TypumwandlungTypumwandlung ÜbenGrundlegende TypkonvertierungGrundlegende Programmierübungen
Herausforderung: Methode Mit Parametern
In dieser Herausforderung müssen Sie eine neue Methode namens factorial
erstellen, die einen Parameter namens n
vom Typ int
hat. Sie sollte die Fakultät des übergebenen Wertes n
berechnen und das Ergebnis ausgeben.
Der Entwurf des Programms ist gegeben, füllen Sie die fehlenden Details aus, um das Programm zu vervollständigen:
main
using System; namespace ConsoleApp { internal class Program { static void factorial(___) { if(n == 0) { Console.WriteLine(___); } else if (n > 0) { int result = 1; for (int i = 2; i <= ___; i++) { ___ } Console.WriteLine(___); } else { Console.WriteLine(___); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }
- Wir haben in einem der vorherigen Abschnitte eine Übung zur Fakultät gemacht, aber zur Wiederholung: Die Fakultät einer Zahl ist das Produkt aller Zahlen bis zu dieser Zahl.
Zum Beispiel ist die Fakultät von
5
1 x 2 x 3 x 4 x 5
, was120
ergibt, ähnlich ist die Fakultät von4
24
. Es gibt zwei zusätzliche Regeln:- Die Fakultät von
0
ist1
; - Die Fakultät einer negativen Zahl ist
undefiniert
, daher sollte sieundefiniert
ausgeben.
- Die Fakultät von
- Um die Aufgabe zu lösen, befolgen Sie die folgenden Schritte:
- Füllen Sie die Lücke für die
factorial
-Methode mit der entsprechenden Parameterdefinition aus. Es wird ein Integer erwartet. Finden Sie heraus, wie der Parameter heißen sollte, indem Sie den inneren Code der Methode lesen; - Wenn das übergebene Argument
0
ist, sollte es eine feste Ausgabe anzeigen, die in den Hinweisen erwähnt wird; - Die Schleife sollte bis zur (einschließlich der Zahl) übergebenen Ganzzahl fortgesetzt werden. Die Variable
result
sollte mit dem Produkt von sich selbst und der Schleifenvariablen aktualisiert werden. Kurz gesagt:result *= i
; - Wenn die Eingabezahl negativ (ungültig) ist, sollte sie "undefiniert" ausgeben.
- Füllen Sie die Lücke für die
main
using System; namespace ConsoleApp { internal class Program { static void factorial(int n) { if(n == 0) { Console.WriteLine(1); } else if (n > 0) { int result = 1; for (int i = 2; i <= n; i++) { result *= i; } Console.WriteLine(result); } else { Console.WriteLine("undefined"); } } static void Main(string[] args) { factorial(-1); factorial(0); factorial(5); } } }
War alles klar?
Danke für Ihr Feedback!
Abschnitt 6. Kapitel 5