Herausforderung: Methode mit Parametern
Swipe um das Menü anzuzeigen
In dieser Aufgabe soll eine neue Methode namens factorial erstellt werden, die einen Parameter n vom Typ int besitzt. Sie soll die Fakultät des übergebenen Wertes n berechnen und das Ergebnis ausgeben.
Das Grundgerüst des Programms ist vorgegeben, ergänzen Sie die fehlenden Details, um das Programm zu vervollständigen:
main.cs
1234567891011121314151617181920212223242526272829303132333435using 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); } } }
- Eine ähnliche Aufgabe zur Fakultät wurde bereits in einem der vorherigen Abschnitte behandelt. Zur Wiederholung: Die Fakultät einer Zahl ist das Produkt aller Zahlen bis zu dieser Zahl.
Zum Beispiel ist die Fakultät von
5gleich1 x 2 x 3 x 4 x 5, also120. Entsprechend ist die Fakultät von4gleich24. Es gelten zwei zusätzliche Regeln:- Die Fakultät von
0ist1; - Die Fakultät einer negativen Zahl ist
undefined, daher sollteundefinedausgegeben werden.
- Die Fakultät von
- Zur Lösung der Aufgabe sind folgende Schritte zu beachten:
- Ergänzen Sie die fehlende Definition des Parameters für die Methode
factorial. Es wird ein Integer erwartet. Der Name des Parameters ergibt sich aus dem inneren Code der Methode; - Wenn das übergebene Argument
0ist, soll eine feste Ausgabe erfolgen, wie in den Hinweisen beschrieben; - Die Schleife soll bis einschließlich der übergebenen Ganzzahl laufen. Die Variable
resultwird jeweils mit dem Produkt aus sich selbst und der Schleifenvariablen aktualisiert. Kurz:result *= i; - Bei einer negativen Eingabe (ungültig) soll "undefined" ausgegeben werden.
- Ergänzen Sie die fehlende Definition des Parameters für die Methode
main.cs
1234567891011121314151617181920212223242526272829303132333435using 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
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Abschnitt 6. Kapitel 5