Übungsblatt zu den verschachtelten Zählschleifen



Allgemeine Hinweise zu den Aufgaben:

Lösen Sie die folgenden Aufgaben durch den Einsatz von for-Schleifen, dort wo es sinnvoll ist. Vermeiden Sie dabei for-Schleifen mit unvollständigen Schleifenköpfen. Überlegen Sie sich gegebenenfalls, wie diese sinnvoll gefüllt werden könnten oder nutzen Sie while-Schleifen.

Verwenden Sie für die Erstellung der Grafiken in der Konsole nur die folgenden Befehle:
print("*"), println() und print(" ").

Aufgabe 1: Block von Sternen

Schreiben Sie ein Programm, das einen Block von Sternen ausgibt. Das Programm liest über die InOut-Bibliothek die Größe des Blocks ein und gibt danach eine entsprechende Anzahl von Zeilen von Sternen aus, wobei jede Zeile ebenfalls eine der Eingabe entsprechende Anzahl von Sternen hat.

Beispielablauf:

Bitte geben Sie die Größe des Blocks ein: 5                                                                           
                                                                                                                      
*****                                                                                                                 
*****                                                                                                                 
*****                                                                                                                 
*****                                                                                                                 
*****




Aufgabe 2: Verschobener Block von Sternen

Schreiben Sie ein Programm, das einen vom linken Rand verschobenen Block von Sternen ausgibt. Das Programm liest die Größe des Blocks ein und gibt danach eine korrespondierende Anzahl von Zeilen von Sternen auf der Konsole aus, wobei jede Zeile ebenfalls eine zur Eingabe passende Anzahl von Sternen hat. Auch der Abstand der Zeilen vom linken Rand entspricht dem eingegebenen Wert.

Beispielablauf:

Bitte geben Sie die Größe des verschobenen Blocks ein: 5

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

Aufgabe 3: Verschobener Rahmen von Sternen

Schreiben Sie ein Programm, das einen vom linken Rand verschobenen Rahmen von Sternen ausgibt. Das Programm liest die Größe des Rahmens ein und gibt danach einen Rahmen dieser Größe aus. Der Abstand des Rahmens vom linken Rand entspricht dem eingegebenen Wert.

Beispielablauf:

Bitte geben Sie die Größe des verschobenen Rahmens ein: 5

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

Aufgabe 4: Keil von Sternen

Schreiben Sie ein Programm, das Sterne in Keilform ausgibt. Das Programm liest die Anfangszahl für die Sterne ein und gibt danach Zeilen von Sternen aus, wobei jede Zeile einen Stern weniger hat, als die vorhergehende.

Beispielablauf :

Bitte geben Sie die Breite des Keils ein: 7

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




Aufgabe 5: Breiter Keil von Sternen

Schreiben Sie ein Programm, das Sterne in Keilform ausgibt. Das Programm liest die Höhe des Keils ein und gibt danach entsprechend viele Zeilen von Sternen aus, wobei jede Zeile zwei Sterne mehr hat, als die vorhergehende.

Beispielablauf:

Bitte geben Sie die Höhe des breiten Keils ein: 7

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

Aufgabe 6: Baum

Schreiben Sie ein Programm, das einen Baum aus Sternen auf die Konsole ausgibt.

Die Größe des Baums soll durch Eingabe der folgenden drei Parameterwerte festgelegt werden können:

Für die Breitenangaben können ungeradzahlige Werte vorausgesetzt werden.

Beispielablauf :

Bitte geben Sie die Breite der Baumkrone ein: 15
Bitte geben Sie die Breite des Baumstamms ein: 5
Bitte geben Sie die Höhe des Baumstamms ein: 4

     


Wenn die Aufgabe zunächst zu schwierig erscheint, ist es sinnvoll, diese schrittweise zu lösen, wobei im ersten Schritt zunächst mit einem Baum fester Größe gearbeitet und erst später die Eingabe der Baumparameter hinzugefügt und die Lösung damit verallgemeinert wird.

Aufgabe 7: Weihnachtsbaum

Schreiben Sie ein Programm, das einen hübsch verzierten Weihnachtsbaum mit Kerzen aus i-Zeichen auf der Konsole ausgibt.

Bitte geben Sie die Breite der Baumkrone ein: 15
Bitte geben Sie die Breite des Baumstamms ein: 5
Bitte geben Sie die Höhe des Baumstamms ein: 4

       i
      i*i
     i***i
    i*****i
   i*******i
  i*********i
 i***********i
i*************i
     *****
     *****
     *****
     *****

Aufgabe 8: Karussell

Ein Karussell bestehe aus einer zentralen Plattform PZ, an der vier Auslegerarme (A1...A4) montiert sind. An jedem Auslegerarm ist wiederum eine Plattform (P1...P4) montiert.

Zu Beginn befinden sich die Arme 1 und 3 in hochgefahrener Stellung, die Arme 2 und 4 hingegen in der heruntergefahrenen Stellung. Nach jeweils zwei Drehungen der zentralen Plattform PZ wechseln sie ihre Stellung, d. h. die Arme 1 und 3 fahren herunter, die Arme 2 und 4 hingegen hinauf und umgekehrt.

Bild vom Karussell
Draufsicht aufs Karussel

Im Steuerhaus des Karussels kann die bedienende Person die Länge einer Karusselfahrt über die Anzahl der durchzuführenden Drehungen von PZ vorgeben.

Zusätzlich lassen sich die Anzahl der Drehungen D1 der Plattformen P1 und P3 sowie D2 der Plattformen P2 und P4 einstellen, die während einer Drehung von PZ durchzuführen sind.

Auf diese Weise lässt sich jede Karusselfahrt recht flexibel gestalten.

Schreiben Sie ein Programm, welches die genannten Parameter zu Beginn einliest und eine entsprechende Karusselfahrt mit Hilfe von Textausgaben in die Konsole simuliert.

Beispielablauf :

Karusselldrehungen: 9
D1: 2
D2: 3

Karusselldrehung 1:
A1A3 Drehung 1 oben, A2A4 Drehung 1 unten,
A1A3 Drehung 2 oben, A2A4 Drehung 2 unten,
A2A4 Drehung 3 unten,
Karusselldrehung 2:
A1A3 Drehung 1 oben, A2A4 Drehung 1 unten,
A1A3 Drehung 2 oben, A2A4 Drehung 2 unten,
A2A4 Drehung 3 unten,
Karusselldrehung 3:
A1A3 Drehung 1 unten, A2A4 Drehung 1 oben,
A1A3 Drehung 2 unten, A2A4 Drehung 2 oben,
A2A4 Drehung 3 oben,
Karusselldrehung 4:
A1A3 Drehung 1 unten, A2A4 Drehung 1 oben,
A1A3 Drehung 2 unten, A2A4 Drehung 2 oben,
A2A4 Drehung 3 oben,
Karusselldrehung 5:
A1A3 Drehung 1 oben, A2A4 Drehung 1 unten,
A1A3 Drehung 2 oben, A2A4 Drehung 2 unten,
A2A4 Drehung 3 unten,
Karusselldrehung 6:
A1A3 Drehung 1 oben, A2A4 Drehung 1 unten,
A1A3 Drehung 2 oben, A2A4 Drehung 2 unten,
A2A4 Drehung 3 unten,
Karusselldrehung 7:
A1A3 Drehung 1 unten, A2A4 Drehung 1 oben,
A1A3 Drehung 2 unten, A2A4 Drehung 2 oben,
A2A4 Drehung 3 oben,
Karusselldrehung 8:
A1A3 Drehung 1 unten, A2A4 Drehung 1 oben,
A1A3 Drehung 2 unten, A2A4 Drehung 2 oben,
A2A4 Drehung 3 oben,
Karusselldrehung 9:
A1A3 Drehung 1 oben, A2A4 Drehung 1 unten,
A1A3 Drehung 2 oben, A2A4 Drehung 2 unten,
A2A4 Drehung 3 unten,