i

Darstellung von Algorithmus

Das Problem

Wir bearbeiten weiterhin das folgende Suchproblem:

=
A
B
C
D
E
F
G
H

Gegeben sind eine Reihe von Schachteln, in denen sich jeweils eine nicht bekannte Menge Gold befindet.

Gesucht ist die Schachtel, in der sich die größte Goldmenge befindet. Wenn es mehrere Schachteln mit der größten Goldmenge gibt, dann reicht es, eine der Schachteln zu bestimmen.

Zur Vefügung steht eine Vergleichswaage, mit der man das Gewicht von zwei Schachteln vergleichen kann.

Es gibt eine Reihe von Möglichkeiten, einen Algorithmus zur Lösung des Problems zu formulieren.

Algorithmus - dargestellt in der Umgangssprache

Umgangssprachlich formulierte Algorithmen versuchen, die Idee eines Algorithmus zu beschreiben, ohne strenge Formalien in der Darstellung zu beachten.

Lege eine Schachtel auf eine Waagschale. 
Solange noch Schachteln vorhanden sind, wiederhole die folgenden Schritte:
Greife eine Schachtel heraus und lege sie auf die leere Waagschale.
Wenn die zuletzt auf die Waage gelegte Schachtel schwerer als die andere Schachtel ist,
dann lege die andere Schachtel in die Ablage, 
sonst lege die zuletzt auf die Waage gelegte Schachtel in die Ablage.
Wenn dann keine Schachtel mehr vorhanden ist, 
dann ist die verbleibende Schachtel auf der Waage die mit dem größten Gewicht.

Algorithmus - dargestellt in einer (Pseudo-)Programmiersprache

Algorithmen, die in einer Programmiersprache verfasst sind, können direkt getestet werden (sofern ein Ausführsystem für die Programmiersprache bereitsteht). Hier eine Darstellung, die mit den Einrückungen an Python angelehnt ist, aber auch noch zahlreiche umgangssprachliche Teile enthält.

Vorgabe: Eine Reihe von Schachteln
lege eine Schachtel auf eine Waagschale
SOLANGE noch Schachteln vorhanden sind:
    greife eine Schachtel heraus
    lege diese Schachtel auf die leere Waagschale
    WENN die zuletzt auf die Waage gelegte Schachtel schwerer als die andere Schachtel ist:
        lege die andere Schachtel in die Ablage
    SONST:
        lege die zuletzt auf die Waage gelegte Schachtel in die Ablage
Ausgabe: die verbleibende Schachtel auf der Waage hat das größte Gewicht

Algorithmus - dargestellt als Struktogramm

Struktogramme benutzt man, um den strukturellen Aufbau eines Algorithmus deutlich zu machen. Hier ist insbesondere die Schachtelung der Kontrollstrukturen zur Ablaufmodellierung besonders gut zu erkennen.

Struktogramm

Algorithmus - dargestellt als Flussdiagramm

Flussdiagramme eignen sich sehr gut, um den Ablauf bei Wiederholungen und Fallunterscheidungen zu veranschaulichen.

flussdiagramm

Suche

v
2.1.1.4
dev.inf-schule.de/algorithmen/grundlagen/algorithmusbegriff/darstellung
dev.inf-schule.de/2.1.1.4
dev.inf-schule.de/@/page/vG4gbfe7ezfSEbHy

Rückmeldung geben