Schachteln von Wiederholungen


Betrachten Sie die nebenstehende Abbildung. Überlegen Sie welche Anweisungen Sie Karol geben müssen, damit er das Quadrat zeichnet. Bei seiner Arbeit soll Karol an der Stelle beginnen, an der er jetzt gerade steht. Schreiben Sie das Programm und lassen Sie sich anschließend das Struktogramm anzeigen. Finden Sie mehrmals vorkommende Teile in der Sequenz.

Quadrat

Für eine Seite des Quadrates muss Karol drei Ziegelsteine legen und sich dann anschließend nach links drehen. Diese Vorgehensweise muss er für jede der vier Seiten des Quadrates wiederholen (siehe Struktogramm in der nebenstehenden Abbildung).

Struktogramm des Quadrates

An diesem Beispiel sieht man, dass innerhalb der ersten Wiederholung (so genannte äußere Schleife) eine weitere Wiederholung (so genannte innere Schleife) aufgerufen werden kann. Man spricht hier von einer Schachtelung von Wiederholungen oder auch von geschachtelten Zählschleifen.

Übung 1

Ändern Sie Ihr Programm zum Zeichnen des Quadrates so ab, dass eine geschachtelte Wiederholung verwendet wird.

Wiederholungen lassen sich schachteln. Dabei muss die innere Wiederholung vollständig in der Anweisungsfolge der äußeren Wiederholung liegen.


Übungen zu geschachtelten Wiederholungsanweisungen

Übung 2: Quadrate
  1. Überlegen Sie, warum die Sequenz "Hinlegen - Schritt" nur dreimal wiederholt werden muss, obwohl das Quadrat die Seitenlänge 4 besitzt.
  2. Rufen Sie nun Ihr Programm Quadrat mehrmals direkt hintereinander, ohne zwischenzeitliches Löschen der gelegten Figur, auf. Was für eine Figur entsteht jetzt?
  3. Ändern Sie Ihr Programm so ab, dass Karol einen Turm mit zehn Ziegelsteinen Höhe zeichnet (Achtung: Hier muss eventuell die Eigenschaft Höhe der Welt angepasst werden!). Die Grundfläche soll ein Quadrat mit 4 Steinen Seitenlänge sein. Verwenden Sie dafür drei ineinander geschachtelte Schleifen.
Übung 3: Quadrat ohne Ecken
Entwickeln Sie ein Programm, welches Karol die nebenstehende Figur (Quadrat ohne Ecken) zeichnen lässt. Verwenden Sie dabei geschachtelte Wiederholungen. Quadrat ohne Ecken

Theoretischer Exkurs: Strategien der Programmentwicklung in der Softwaretechnik

In der Softwaretechnik unterscheidet man zwei Ansätze zur Programmentwicklung:

Lesen Sie dazu in der Wikipedia den entsprechenden Artikel Top-Down- und Bottom-Up-Design und erläutern Sie anschließend kurz die Grundgedanken der beiden Ansätze.

Übung 4: Quader bauen

Karol soll einen Quader mit der Länge 4 Ziegelsteine, der Breite 3 Ziegelsteine und der Höhe 5 Ziegelsteine bauen. Der Quader soll nicht an eine Wand grenzen.
Entwerfen Sie eine Vorgehensweise zur Lösung des Problems im Top-Down-Design.

Übung 5: Figur entwerfen

Überlegen Sie sich eine neue Ziegelsteinfigur, die Karol erstellen soll. Die Figur soll so gestaltet sein, dass mindestens dreimal eine Wiederholung mit fester Anzahl verwendet werden muss.

Übung 6: Umrunden von Hindernissen
Karol soll ein Hindernis in Form eines 2x2 Quadrates (siehe Abbildung) umrunden. Erstellen Sie zunächst die zugehörige Welt (Menü Welt -> Welt direkt festlegen) und schreiben Sie anschließend das Programm unter Verwendung einer geschachtelten Wiederholungsanweisung. Umrunden eines 2x2 Quadrates

Wie oft muss die Anweisung Schritt in der inneren Zählschleife ausgeführt werden, damit Karol ein Quadrat aus 3x3, 4x4, ... Feldern umrunden kann? Nutzen Sie diesen Zusammenhang und lassen Sie Karol ein 7x7-Quadrat umrunden. Erstellen Sie dazu zunächst wiederum die zugehörige Welt.

Übung 7: Erstellen eines Schachbrettmusters (Für Fortgeschrittene)
In einer Welt von 10x10 Feldern soll Karol ein Schachbrett von 8x8 Feldern mithilfe von Zählschleifen erstellen. Hinweis: Versuchen Sie Karol in einer Methode die in der Abbildung rot umrandeten beiden Linien zeichnen zu lassen. Anschließend müssen diese beiden Linien "nur noch" vervielfältigt werden. Schachbrettmuster

zuletzt geändert am:
Eine Seite von Mirko Hans