i

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

Argo und ihre Welt - vorher Argo und ihre Welt - 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

Argo und ihre Welt - vorher Argo und ihre Welt - nachher

Argo und ihre Welt - vorher Argo und ihre Welt - 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()

Suche

v
16.5.4..2 Fachkonzept - Problem/Algorithmus/Programm
Kopieren durch Anklicken

Rückmeldung geben