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: Kara und ihre/seine Welt) vor und nach der Problembearbeitung einnehmen soll.

Zur Darstellung der Zustände benutzen wir häufig Bilder mit den entsprechenden Problemsituationen.

Beispiel: Problem "Kleeblatt suchen" - Kara-Welt vorher / nachher

Kara und seine Welt - vorherKara und seine 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 Baumreihen und von zu suchendem Kleeblatt denkbar. Häufig deuten wir den allgemeinen Charakter eines Problems dadurch an, dass wir mehrere unterschiedliche Problemsituationen wiedergeben.

Beispiel: Problem "Kleeblatt suchen" - Kara-Welt vorher / nachher

Kara und seine Welt - vorherKara und seine Welt - nachher

Kara und seine Welt - vorherKara und seine 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 "Kleeblatt suchen"

SOLANGE nicht auf einem Kleeblatt:
    WENN vor einem Baum:
        links drehen
        Schritt weitergehen
        rechts drehen
        Schritt weitergehen
        SOLANGE rechts ein Baum:
            Schritt weitergehen
        rechts drehen
        Schritt weitergehen
        links drehen
    SONST:
        Schritt weitergehen
Kleeblatt 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 Kara nicht ausgeführt werden kann, da sie nicht die vom Kara-System vorgeschriebene Sprache benutzt. Damit Kara den Algorithmus ausführen kann, muss er in die von Kara benutzt Sprache übersetzt werden:

Ein Programm ist ein Algorithmus zur Lösung eines Problems, der in einer vorgegebenen Programmiersprache verfasst ist.

Beispiel: Programm "Kleeblatt suchen"

while not kara.onLeaf():
    if kara.treeFront():
        kara.turnLeft()
        kara.move()
        kara.turnRight()
        kara.move()
        while kara.treeRight():
            kara.move()
        kara.turnRight()
        kara.move()
        kara.turnLeft()
    else:
        kara.move()
kara.removeLeaf()
X

Fehler melden

X

Suche