Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Beschreibung von Abläufen durch Algorithmen
Wir haben in Jahrgangsstufe 6 die Grundbegriffe der Objektorientierung kennengelernt und kennen die Punktschreibweise zur Veränderung von Attributwerten und zum Aufruf von Methoden, z.B. für ein Kreis-Objekt mit dem Bezeichner k
:
k.setFüllfarbe(rot) k.setRadius(20) k.verschieben(10, -20);
Was aber, wenn wir den Kreis 200-mal jeweils nur um einen Pixel verschieben wollen, damit die Animation flüssig erscheint? Oder wenn wir 50 Kreise verschieben wollen?
Wir brauchen eine Möglichkeit, den Computer anzuweisen
- "Mach' das jetzt 50-mal!"
- "Mach das nur, wenn der Kreis rot ist!"
usw. Darum soll es in diesem Kapitel gehen.
Algorithmus
Ein Algorithmus (benannt nach dem arabischen Mathematiker al-Chwarizmi) ist eine Handlungsvorschrift, die so präzise formuliert ist, dass eine Maschine sie ausführen kann.
Robot Karol
1. Sequenz
Eine Folge nacheinander auszuführender Anweisungen heißt Sequenz.
Beispiel:
hinlegen schritt hinlegen schritt hinlegen schritt
2. Wiederholung mit fester Anzahl
Aufgabe 1
- a) Erstelle ein möglichst kurzes Programm, das die folgende Zickzackreihe legt.
- b) Zeichne das zugehörige Struktogramm!
Aufgabe 2
- Erstelle ein möglichst kurzes Programm, das das nachfolgend dargeestellte Quadrat erzeugt.
- Zeichne das zugehörige Struktogramm.
3. Die bedingte Wiederholung
Vor Karol steht ein Stapel Ziegel. Schreibe ein Programm, das Karol dazu bringt, den Stapel Ziegel abzubauen und das bei jeder möglichen Stapelhöhe funktioniert!
Lösung:
Eine Bedingung (anderes Fachwort: eine Aussage) ist ein Term, der nur die Werte wahr oder falsch haben kann.
Beispiele:
- In Ingolstadt scheint die Sonne.
- $3\cdot x<10$
- Das Christoph-Scheiner-Gymnasium hat 950 Schüler/-innen.
In Robot Karol gibt es folgende Bedingungen:
- IstWand hat genau dann den Wert wahr, wenn Karol unmittelbar vor einer Wand steht.
- IstZiegel hat genau dann den Wert wahr, wenn auf dem Feld unmittelbar vor Karol mindestens ein Ziegel liegt.
- IstMarke hat genau dann den Wert wahr, wenn Karol auf einer Marke steht.
- NichtIstWand hat genau dann den Wert wahr, wenn IstWand den Wert falsch hat.
- NichtIstZiegel hat genau dann den Wert wahr, wenn IstZiegel den Wert falsch hat.
- NichtIstMarke hat genau dann den Wert wahr, wenn IstMarke den Wert falsch hat.