====== Wiederholung ======
Falls Sie Ihre Kenntnisse und Fertigkeiten im objektorientierten Programmieren auffrischen möchten, finden Sie hier viele interaktive Erklärungen und Aufgaben:
* [[https://www.learnj.de/doku.php?id=einstieg:start|Variablen, Wiederholungen (while-Loop, for-loop)]]
* [[https://www.learnj.de/doku.php?id=einstieg:geschachtelt:start|Verschachtelte Wiederholungen]]
* [[https://www.learnj.de/doku.php?id=wenndann:start|Bedingungen (if...else)]]
* [[https://www.learnj.de/doku.php?id=klassen1:start|Objekte/Klassen (Grundlagen)]]
* [[https://www.learnj.de/doku.php?id=klassen2:start|Klassen (Vertiefung)]]
===== 1. Ablaufstrukturen =====
* a) Schreiben Sie ein Programm, das alle geraden Zahlen von 0 bis 100 auf dem Bildschirm ausgibt. \\
* b) Schreiben Sie ein Programm, das mithilfe einer verschachtelten Wiederholung die folgende Einmaleinstabelle ausgibt:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
* c) Schreiben Sie ein Programm, das den Benutzer auffordert, eine Zahl einzugeben (Methode ''Input.readInt(String message)''). Es soll anschließend ausgeben: "Die Zahl ist eine Primzahl" oder "Die Zahl ist keine Primzahl" \\ //Tipp: Eine einfache Möglichkeit, zu prüfen, ob $n\in N$ eine Primzahl ist, besteht darin, die Teilbarkeit durch $2, 3, \ldots, \frac{n}{2} - 1$ zu überprüfen. // \\
* d) Zeichnen Sie ein [[anlage:modellierungstechniken:start#struktogramm|Struktogramm]] zu Aufgabe c)
[[.loesungen1:start|Lösungen]]
===== 2. Klassen =====
* a) Schreiben Sie ein Programm, das 1000 Objekte der Klasse ''Circle'' mit zufälligen Koordinaten, Radien und Farben instanziert. \\ //Tipp: Die Methode ''Color.randomColor()'' gibt eine zufällige Farbe zurück. // \\
* b) Deklarieren Sie eine Klasse ''RechteckHelfer'' mit den Attributen ''länge'' und ''breite'' (Datentyp ''double''). Die Klasse soll im Konstruktor die Werte für Länge und Breite entgegennehmen und die Methoden ''GibFlächeninhalt'', ''GibUmfang'', ''GibDiagonalenlänge'' und ''istQuadrat()'' besitzen. Schreibe ein Hauptprogramm zum Test der Methoden. \\
* c) Deklarieren Sie eine Klasse ''Uhr'' die Unterklasse der Klasse ''Actor'' ist und deren Methode ''act'' überschreibt. Die Online-IDE sorgt dafür, dass diese Methode 30-mal pro Sekunde aufgerufen wird. Ergänzen Sie die Klasse so, dass sie einen Timer der Form ''03:27'' (Minuten:Sekunden) ausgibt und im Sekundentakt weiterzählt. \\ //Tipp: Die Methode ''SystemTools.clearScreen()'' löscht den Ausgabebereich der Online-IDE. // \\
[[.loesungen2:start|Lösungen]]