Lektion 3c – Aufgabe: Formulieren wir ein Löseverfahren
Wir betrachten hier die folgende Lösestrategie:
Zunächst schwimmt der Fisch nach unten, anschließend in die linke untere Ecke des Aquariums. Dann beginnt er, systematisch von unten zwischen dem linken und rechten Rand des Aquariums hin und her zu schwimmen, wobei er sich bei jeder Bewegungsumkehr ein Stück nach oben bewegt. Wenn er auf diesem Weg den Ball trifft, schwimmt er nicht mehr weiter.
Diese Lösestrategie soll jetzt weiter präzisiert werden.
wiederhole bis der Rand oder der Ball berührt wird:
schwimme ein Stück nach unten
wenn der Rand berührt wird:
drehe dich nach links
schwimme ein Stück nach oben
wiederhole bis der Rand oder der Ball berührt wird:
schwimme ein Stück nach vorne
wenn der Rand berührt wird:
…
Übersetzung in ein Scratch-Programm
Wenn du beim Formulieren des Löseverfahrens alles bedacht hast, dann sollte der letzte Schritt – die Übersetzung in ein Scratch-Programm – keine großen Schwierigkeiten mehr bereiten. Du musst jetzt z.B. nur noch festlegen, was unter “einem Stück” zu verstehen ist.
Wenn ein Problem automatisiert gelöst werden soll, müssen die Verarbeitungsschritte nämlich genau festgelegt werden.
Beispiel: Ein Ausschnitt aus dem Programm “Blindekuh”
So könnte ein Teil der oben gezeigten Strategie in Scratch aussehen. Keine Angst, wir kümmern uns im Laufe der Woche noch darum, was die ganzen Bausteine bedeuten.
Deine Aufgaben
- Schreibe in die Kommentarfunktion, was du unter einem Algorithmus verstehst.
- Programmiere das Beispiel von oben in Scratch.
- Du brauchst einen Ball, einen Fisch und einen Hintergrund.
- Der Ball soll jedes Mal an einer anderen Position erscheinen.
- Programmiere einen Algorithmus für den Weg des Fisches, sodass er den Ball egal an welcher Position berührt.