Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:c-sharp_programmieruebungen

C# Programmierübungen

Übungen zu Schleifen

Bei den folgenden Aufgaben ist die Lösung mit einer for-Schleife einfach zu erstellen. Kannst du sie auch mit einer while-Schleife lösen?

Für Profis, dich sich mit Rekursion auskennen: Man kann die Aufgaben sogar komplett ohne Schleife lösen.

Zahlen bis maximum

Von der Tastatur wird eine Zahl maximum eingelesen. Anschließend gibt das Programm alle Zahlen von 1 bis maximum aus.

Eingabe: 8
Ausgabe: 1, 2, 3, 4, 5, 6, 7, 8

Gerade Zahlen

Von der Tastatur wird eine Zahl maximum eingelesen. Anschließend gibt das Programm alle geraden Zahlen von 0 bis maximum aus.

Eingabe: 6
Ausgabe: 0, 2, 4, 6

FizzBuzz

Bei dem FizzBuzz-Spiel werden die Zahlen von 1 bis 100 durchlaufen. Nun können folgende Fälle eintreten:

  1. Wenn die Zahl durch 3 teilbar ist, wird „Fizz“ ausgegeben
  2. wenn sie durch 5 teilbar ist, wird „Buzz“ ausgegeben und
  3. wenn sie durch 3 und 5 teilbar ist, wird „FizzBuzz“ ausgegeben.
  4. Tritt keiner dieser Fälle ein, wird die Zahl ausgegeben.

Ob eine Zahl durch eine andere Zahl teilbar ist, kann mit Hilfe des Modulo-Operators (oder Restwert-Operator) % herausgefunden werden. Er berechnet den Divisionsrest: 10 % 3 ist 1, da 10 geteilt durch 3 genau 3 Rest 1 ergibt.

Die ersten 20 Ausgaben sehen wir folgt aus:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz

Hoch- und Runterzählen

Das Programm gibt die Zahlen von 1 bis 10 und dahinter die Zahlen von 10 bis 1 aus. Es zählt also einmal rauf und dann wieder runter. Versuche, nur eine for-Schleife zu verwenden.

Ausgabe: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1

Sternenreihe

Schreiben Sie ein Programm, das zunächst die Eingabe einer positiven Zahl anzahl über die Tastatur erwartet. Anschließend soll das Programm anzahl-mal ein Sternchen (*) auf den Bildschirm ausgeben. Beispielablauf des Programms (Benutzereingaben in <>):

Anzahl (>0): <8>
********

Sternentreppe

Schreiben Sie ein Programm, das nach Eingabe einer positiven Zahl hoehe eine Treppe der im folgenden Beispielprogramm skizzierten Form auf den Bildschirm ausgibt. Die Treppe soll aus hoehe-Zeilen bestehen. Beispielablauf des Programms (Benutzereingaben in <>):

Hoehe (>0): <5>

*
**
***
****
*****

Sternendreieck

Schreiben Sie ein Programm, das nach Eingabe einer ungeraden Zahl basislaenge ein Sterndreieck auf den Bildschirm ausgibt. Die unterste Reihe soll dabei aus basislaenge Sternchen bestehen. Beispielablauf des Programms (Benutzereingaben in <>):

Basislaenge (>0 und ungerade): <9>

    *
   ***
  *****
 *******
*********

BMI-Rechner

Der Body-Mass-Index (BMI) ist eine Maßzahl für die Bewertung des Körpergewichts eines Menschen. Der BMI berechnet sich aus dem Körpergewicht [kg] dividiert durch das Quadrat der Körpergröße [m²]. Die Formel lautet: BMI = Körpergewicht / (Körpergröße in m)². Die Einheit des BMI ist demnach kg/m². Implementieren Sie einen BMI-Rechner.

Beispielablauf des Programms (Benutzereingaben in <>):

Bitte geben Sie Ihr Gewicht ein (in kg): <75>
Bitte geben Sie ihre Größe ein (in m): <1.81>
BMI = 22.89307408198773

Notenrechner

Der Notenrechner berechnet die Note bei Eingabe der Gesamtpunktzahl und der erreichten Punkte nach dem IHK-Schlüssel.

Noteab
1 92%
2 81%
3 67%
4 50%
5 30%

Zahlenraten

Bei dem Spiel Zahlenraten geht es darum, möglichst schnell eine Zahl zwischen 0 und 100 zu erraten, die sich der Computer zufällig ausgedacht hat. Man kann dem Computer immer wieder eine Zahl nennen und er antwortet jeweils mit Die gesuchte Zahl ist kleiner oder Die gesuchte Zahl ist größer oder Richtig geraten.

Erstelle ein Programm, mit dem du das Spiel gegen den Computer spielen kann.

Tipp: Eine Zufallszahl kann man mit der Klasse Random wie folgt erzeugen:

Random ranZufallszahlen = new Random();
// Gibt eine Zufallszahl zurück, die in einem angegebenen Bereich liegt.
// Der Zahlen stammen aus dem Bereich von 0 bis 100
ranZufallszahlen.Next(0, 101);
// 60
ranZufallszahlen.Next(0, 101); 
// 24
ranZufallszahlen.Next(0, 101); 
// 47

IBAN-Prüfsumme

Die IBAN ist eine international standardisierte Notation für Bankkontonummern. Ein Beispiel seht ihr hier.

DE68 2105 0170 0012 3456 78

Sie wird z.B. bei Überweisungen verwendet, um das Empfängerkonto anzugeben. Diese IBAN hat im vorderen Bereich zwei Prüfziffern, mit denen geprüft werden kann, ob die IBAN korrekt eingetragen wurde.

  1. Schreibe ein Programm, das eine IBAN überprüft und ausgibt, ob eine eingegebene IBAN korrekt ist oder nicht.
  2. (schwieriger) Schreibe ein Programm, dass eine Prüfziffer berechnet.

Tipp: Wenn die Zahl groß wird, brauchst du einen anderen Datentyp als int1).

Programm, das den eigenen Quelltext ausgibt

Schreibe ein Programm, das den eigenen Quelltext ausgibt. Dabei darf nicht auf Dateioperationen zurückgegriffen werden. Sonst wäre es zu einfach. Dann könnte man einfach nur die Datei ausgeben, die den Quelltext enthält.

Das schöne an dieser Aufgabenstellung ist, dass sie zunächst sehr einfach und nach ein paar Versuchen faktisch unmöglich erscheint.

Versuche dich selbst an einem C#-Programm, das den eigenen Quelltext ausgibt.

Wenn du keinen Ansatz findest, kann du den (unvollständigen) Quelltext aus der Fußnote2) nutzen.

  • Project Euler ist eine Sammlung mathematischer Aufgaben und Programmierübungen für unterschiedliche Programmiersprachen. Es gibt viele Lösungen, die in einem Forum gesammelt werden.
  • Code Hunt ist ein Spiel von Microsoft, das hilft, die Programmiersprache C# zu lernen.
  • Wer der englischen Sprache mächtig ist, findet bei RosettaCode eine Vielzahl von Programmieraufgaben inklusive Lösungen in vielen verschiedenen Programmiersprachen.

Lösungen

1) Verwende für große Zahlen den Datentyp decimal.
2)
class MainClass{
        static string[] daten = {
            "  public static void Main(string[] args) {",
            "    Console.WriteLine(\"class MainClass{\");",
            // ...
            "}" };
 
        public static void Main(string[] args) {
            Console.WriteLine("class MainClass{");
            // ..
        }
}
schule/c-sharp_programmieruebungen.txt · Zuletzt geändert: 19.04.2017 08:39 (Externe Bearbeitung)