C# – Lösungen Grundlagen

C# Anleitung

In diesem Beitrag stelle ich Dir je eine mögliche Lösung für die Übungsaufgaben der C# Grundlagen vor.

Bedenke, dass es nicht nur eine Lösung gibt. Es kann auch gut sein, dass es effizientere gibt, aber ich versuche hier leicht verständliche Lösungen zu geben.

Aufgabe 1: Umgang mit Variablen

Zuerst lege ich 2 int-Variablen für die Eingaben ein. Integer deswegen, weil wir Ganzzahlen haben möchten laut Aufgabenstellung.

Zusätzlich lege ich eine Variable vom Typ long an, denn dieser ist größer und kann somit auch Rechnungen mit höheren Zahlen des Integer-Bereichs fassen.

Über die WriteLine-Methoden gebe ich eine Ausgabe aus, um dem Anwender zu sagen, was von ihm gefordert wird. Das Zeichen \n hat einen Zeilenumbruch zur Folge und hilft nur der Übersichtlichkeit.

Über den Befehl Console.ReadLine lese ich die eingegeben Zahlen des Benutzers ein, konvertiere sie über den Befehl Convert.ToInt32 (Int16 entspricht short und Int64 einer long-Variable) in eine Integer-Variable und speichere sie entsprechend ab.

In Zeile 24 multipliziere ich zahl1 mit zahl2 und speichere das Ergebnis in der Variable ergebnis.

Nun wird das Ergebnis noch ausgegeben und eine weitere Konsoleneingabe gefordert, die allerdings nicht ausgewertet wird. Sie dient dazu, dass sich das Programm nicht sofort schließt.


Aufgabe 2: Fakultät

Am Anfang lege ich die int-Variable eingabe für die Eingabe an, welche in einer do-while-Schleife wie in der ersten Aufgabe eingelesen wird. Die Schleife wird solange ausgeführt, bis die eingegebene Zahl größer oder gleich 0 ist.

Danach wird in der Konsole das Ergebnis der Methode Fakulteat ausgegeben. Alternativ kann es auch in 2 Zeilen geschrieben werden, wenn man das Ergebnis speichern möchte und dann die Variable ausgibt.

Der Methode Fakultaet wird die Zahl übergeben, von welcher die Fakultät gebildet werden soll.

Innerhalb dieser Methode lege ich zuerst wieder eine long-Variable erg an (selber Grund wie in Aufgabe 1) und initialisiere sie mit dem Wert 1 vor. Wichtig hier ist, dass sie mit keinem anderen Wert vorbelegt wird, denn das würde das Ergebnis verfälschen.

Nun wird eine for-Schleife beginnend von 1 (Wichtig: Nicht 0, denn alles mit 0 multipliziert ergibt 0) bis zur eingegebenen Zahl durchlaufen, mit erg multipliziert und auch wieder in dieser Variable gespeichert.

Am Ende dieser Methode wird die Variable erg zurückgegeben.


Aufgabe 3: Maximum aus Array

Am Anfang dieses Programms lege ich ein int-Array meineZahlen an, von welchem ich später das Maximum erfahren möchte.

Als nächstes gebe ich das Maximum von meineZahlen in der Kurzschreibweise in der Konsole aus.

Die Methode fordert als Übergabeparameter ein int-Array zahlen.
Innerhalb lege ich zuerst eine int-Variable max für das Maximum an und initialisiere es mit dem ersten Element von zahlen vor. Dadurch stelle ich sicher, dass definitiv ein Wert aus dem Array als Vergleich genommen wird und somit das Ergebnis nicht verfälscht wird. Zudem erspare ich mir so gleich einen Schleifendurchlauf.

Nun prüfe ich, ob das Array überhaupt mehr als 1 Element enthält. Ist dies nämlich nicht der Fall, dann habe ich schon das Maximum gefunden.

Wenn mehr als ein Element in dem Array vorhanden ist, betrete ich eine for-Schleife, die bei 1 beginnt und bis zur größten Zelle durchläuft. Die Zelle 0 haben wir ja schon durch die erste Zuweisung abgedeckt.

Innerhalb der Schleife überprüfe ich nun nurnoch ob der Inhalt der aktuellen Zelle größer ist, als das aktuelle Maximum, ist dies der Fall wird es zum neuen Maximum.

Dadurch wird innerhalb der Schleife jede Zelle überprüft und ich bekomme den höchsten Wert am Ende heraus. Weitere Vergleiche sind nicht nötig, denn wenn ein Wert vorher schon kleiner war, ist dieser auch weiterhin kleiner als das neue Maximum.


 

Ich betone nochmals wie eingangs erwähnt. Es gibt nicht nur eine Lösung für die Aufgaben. Gerade in der Anfangsphase des lernens steht die Funktion im Vordergrund, noch nicht die Effizienz.

 

Ich hoffe die Erklärungen sind verständlich genug. Über Feedback freue ich mich natürlich. Wenn Du Fragen zu Deinen Lösungen oder Problemen bei den Aufgaben hast, schreibe sie gerne als Kommentar unter diesen Artikel.

 

Im nächsten Kapitel werde ich mich dem Klassenkonzept widmen, welches ein mächtiges Werkzeug der C#-Programmierung ist.

Weiter zum nächsten Kapitel >> C# – Einführung Klassenkonzept

Vielleicht gefällt Dir auch...

1 Antwort

  1. 18. April 2015

    […] C# – Lösungen Grundlagen […]

Schreibe einen Kommentar