Fachkonzept - Problem/Algorithmus/Programm
Problembeschreibung
Vor jeder Problembearbeitung sollte das zu lösende Problem möglichst klar beschrieben werden.
Wir benutzen hier ein Verfahren zur Problembeschreibung, das in vielen Bereichen der Informatik angewandt wird. Wir beschreiben ein Problem mit Hilfe der Zustände, die das betrachtete System (hier: Raumschiff Argo im Weltraum) vor und nach der Problembearbeitung einnehmen soll.
Zur Darstellung der Zustände benutzen wir häufig Bilder mit den entsprechenden Problemsituationen.
Beispiel: Problem "Power-up suchen" - Welt vorher / nachher
Die zu bearbeitenden Probleme sind oft allgemein in dem Sinne, dass viele konkrete Problemsituationen möglich sind. Im oben dargestellten Beispiel sind viele verschiedene Anordnungen von Asteroidenfeldern und von zu suchendem Power-up denkbar. Häufig deuten wir den allgemeinen Charakter eines Problems dadurch an, dass wir mehrere unterschiedliche Problemsituationen wiedergeben.
Beispiel: Problem Power-up suchen - Welt vorher / nachher
Fachkonzept - Algorithmus
In der Informatik versucht man, Probleme automatisiert zu lösen.
Ein Algorithmus ist eine Verarbeitungsvorschrift zur Lösung eines Problems, die so präzise formuliert ist, dass sie (zumindest im Prinzip) auch von einer Maschine abgearbeitet werden kann.
Beispiel: Algorithmus "Power-up suchen"
SOLANGE nicht auf einem Power-up:
WENN vor einem Asteroid:
links drehen
Feld weiterfliegen
rechts drehen
Feld weiterfliegen
SOLANGE rechts ein Asteroid:
Feld weiterfliegen
rechts drehen
Feld weiterfliegen
links drehen
SONST:
Feld weiterfliegen
Power-up aufheben
Mehr zum Thema Algorithmus
findest du im Kapitel
Algorithmen
Fachkonzept - Programm
Algorithmen sind Verarbeitungsvorschriften, die dazu dienen, die Ablauflogik beim Verarbeiten eindeutig zu beschreiben. Algorithmen kann man auf unterschiedliche Weise darstellen. Oben wurde eine halbformale Beschreibung benutzt, die zwar den Ablauf klar beschreibt, die aber von der Argo nicht ausgeführt werden kann, da sie nicht die vom Ausführsystem vorgeschriebene Sprache benutzt. Damit die Argo den Algorithmus ausführen kann, muss er in die von der Argo benutzte Sprache übersetzt werden:
Ein Programm ist ein Algorithmus zur Lösung eines Problems, der in einer vorgegebenen Programmiersprache verfasst ist.
Beispiel: Programm "Power-up suchen"
while not argo.onPow():
if argo.rockFront():
argo.turnLeft()
argo.move()
argo.turnRight()
argo.move()
while argo.rockRight():
argo.move()
argo.turnRight()
argo.move()
argo.turnLeft()
else:
argo.move()
argo.removePow()