Wiederholungen mit fester Anzahl


Bei vielen Programmen, z.B. beim Legen einer Reihe von 6 Ziegeln, muss immer wieder "das Gleiche gemacht werden" (Hinlegen - Schritt -> Hinlegen - Schritt usw.). Karol muss sechsmal einen Stein ablegen und anschließend einen Schritt machen, d.h. er wiederholt die Sequenz Hinlegen - Schritt insgesamt sechsmal. Solche Wiederholungen kommen sehr oft vor. Deshalb gibt es dafür eine eigene algorithmische Grundstruktur: Wiederholung mit fester Anzahl.

Einführungsbeispiel

Ein Vorschlag zur Lösung unseres Problems könnte folgendermaßen aussehen:

Ausgangsbeispiel

Leider ist dieser Vorschlag sehr unklar formuliert, da aus dem Programmtext nicht hervorgeht welche Anweisungen Karol wiederholen soll:

  1. Nur die Anweisung Hinlegen,
  2. die Anweisungen Hinlegen und Schritt oder
  3. alle drei Anweisungen?
Übung 1

Überlegen Sie, wie das jeweilige Ergebnis der Fälle a) bis c) aussehen würde. Kontrollieren Sie anschließend Ihre Überlegungen, indem Sie diese mit den Lösungen vergleichen.

Sie sehen also, dass bei einer Wiederholung immer ganz genau angegeben werden muss, welche Anweisungen wiederholt werden sollen. Für die Fälle a) bis c) müssen die Anweisungen dementsprechend wie folgt aussehen:

Programmtexte der Einführungsbeispiele
Übung 2

Geben Sie die Programmtexte ein und testen Sie die drei Programme. (Hinweis: Das Einrücken der zu wiederholenden Anweisungen ist nicht notwendig, es verbessert aber die Lesbarkeit des Programmtextes.)

Zusammenfassung

Die Wiederholung mit fester Anzahl wird verwendet, wenn eine Sequenz mehrfach ausgeführt werden soll und die Anzahl der Wiederholungen bereits vorher feststeht.

Wiederhole n mal
Sequenz
*Wiederhole

Die Anweisungsfolge innerhalb der Wiederholungsanweisung wird dann so oft ausgeführt, wie die Zahl n vorgibt. Die Wiederholung mit fester Anzahl wird auch oft als Zählschleife bezeichnet.

Der Ausdruck Schleife stammt übrigens noch aus der Anfangszeit der elektronischen Datenverarbeitung, als Programme wie auch Daten über Lochstreifen (siehe Foto aus dem Deutschen Technikmuseum Berlin) eingelesen wurden. Musste eine Wiederholungsanweisung ausgeführt werden, so klebte man einfach die Enden des Lochstreifens zusammen, wodurch die Maschine ständig die gleichen Anweisungen ausführte.

Lochstreifen

Das Struktogramm als grafische Darstellung des Algorithmus

Neben der Darstellung des Algorithmus in Form des Programmtextes gibt es noch eine weitere Form der Darstellung des Algorithmus in grafischer Form: das Struktogramm. Das Struktogramm steigert die Übersichtlichkeit, vor allem bei komplexeren Programmen. Aus diesem Grund wird es in der Praxis sehr oft verwendet, um sich das Programm vor der eigentlichen Programmierung am Computer grafisch zu veranschaulichen. Für unser Einführungsbeispiel sehen die Struktogramme folgendermaßen aus:

Struktogramme der Einführungsbeispiele

Das Struktogramm ist eine grafische Darstellung von Programmtexten.

Regeln für das Zeichnen von Struktogrammen

Struktogramm einer Sequenz Einzelne Anweisungen werden jeweils von einem Rechteck umrandet.
Struktogramm einer Zählschleife Wiederholungen werden von den vorangegangenen und folgenden Anweisungen durch waagerechte Striche abgetrennt. Die zu wiederholende Sequenz wird in ein kleineres, inneres Rechteck eingetragen, vor dem die Anzahl der Wiederholungen angegeben ist.

Anzeigen von Struktogrammen in der Entwicklungsumgebung ROBOT KAROL

In der Entwicklungsumgebung ROBOT KAROL kann man sich das Struktogramm eines Programms anzeigen lassen: Menü Struktogramm. Es gibt die Möglichkeit das Struktogramm auszudrucken, in die Zwischenablage zu kopieren, bzw. als Grafik abzuspeichern.

Übung 3

Öffnen Sie eines Ihrer erstellten Beispielprogramme und lassen Sie sich das Struktogramm dazu anzeigen.


Übung zu Anweisungen mit fester Anzahl der Wiederholung

Übung 4 - Trepp' auf, Trepp' ab
Lassen Sie Karol eine Treppe wie in nebenstehender Abbildung bauen. Verwenden Sie Wiederholungsanweisungen mit fester Anzahl. Dabei kann Karol auf zwei völlig verschiedene Arten vorgehen. AufAbTreppe
  1. Karol legt zuerst die unterste Reihe (Methode Reihe7Legen), geht zurück (Methode Laufe6), legt die nächste Reihe (Methode Reihe5Legen) usw.
  2. Karol legt das rechte Ende, geht einen Schritt vor, legt den Stapel mit den zwei Ziegelsteinen (Methode Lege2), geht wieder einen Schritt vor usw.

zuletzt geändert am:
Eine Seite von Mirko Hans