Pseudocode: Unterschied zwischen den Versionen
Sn (Diskussion | Beiträge) |
Sn (Diskussion | Beiträge) K (Link gefixt) |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 20: | Zeile 20: | ||
=="Syntax"== | =="Syntax"== | ||
Meistens werden im Pseudocode mathematische Algorithmen beschrieben. Deswegen sind auch die meisten Anweisungen eher mathematischer Natur und dürfen auch Formeln enthalten – die konkrete Umsetzung bleibt, wie gesagt, dem Programmiery überlassen. Andere Anweisungen können sich auf verwendete [[Variable| | Meistens werden im Pseudocode mathematische Algorithmen beschrieben. Deswegen sind auch die meisten Anweisungen eher mathematischer Natur und dürfen auch Formeln enthalten – die konkrete Umsetzung bleibt, wie gesagt, dem Programmiery überlassen. Andere Anweisungen können sich auf verwendete [[Variable (Informatik)|Variable]]en oder [[Datenstruktur]]en beziehen. Entscheidend ist, dass die Pseudocode-Anweisungen unkompliziert in eine reale Sprache übersetzt werden können. | ||
Typischerweise werden für die Darstellung von Algorithmen in Pseudocode wenige Schlüsselwörter verwendet, die in den meisten Programmiersprachen verwendet werden: | Typischerweise werden für die Darstellung von Algorithmen in Pseudocode wenige Schlüsselwörter verwendet, die in den meisten Programmiersprachen verwendet werden: | ||
Zeile 111: | Zeile 111: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} | ||
{{ | {{Achtung|'''Achtung:''' Pseudocode ist keine sauber ausdefinierte Programmiersprache mit einer festen Syntax, sondern nur eine Konvention, an die man sich halten soll. Darum wirst du nie zwei Personen finden, die denselben Pseudocode schreiben. In manchen Teams wird z.B. <code>fi</code> statt <code>endif</code> geschrieben.}} | ||
| | |||
}} | |||
== Beispiel == | == Beispiel == |
Aktuelle Version vom 3. April 2024, 16:23 Uhr
Als Pseudocode bezeichnet man eine textuelle Darstellung eines Algorithmus, die nicht in einer konkreten Programmiersprache formuliert ist, aber doch gewisse Schlüsselwörter enthält, sodass sie mit wenig Aufwand in einer Programmiersprache implementiert werden kann.
Die Idee ist, den Prozess der Programmierung in zwei Teile zu teilen:
- Der Entwurf von Algorithmen, der ein tiefes Verständnis von theoretischer Informatik erfordert.
- Die Umsetzung von Algorithmen in einer Programmiersprache, der weniger Denk- als Fleißarbeit erfordert.
Als Produkt des ersten Schrittes entsteht ein Pseudocode, der mit wenig Denkarbeit von einem fähigen Programmiery in einer Programmiersprache umgesetzt werden kann.
"Syntax"
Meistens werden im Pseudocode mathematische Algorithmen beschrieben. Deswegen sind auch die meisten Anweisungen eher mathematischer Natur und dürfen auch Formeln enthalten – die konkrete Umsetzung bleibt, wie gesagt, dem Programmiery überlassen. Andere Anweisungen können sich auf verwendete Variableen oder Datenstrukturen beziehen. Entscheidend ist, dass die Pseudocode-Anweisungen unkompliziert in eine reale Sprache übersetzt werden können.
Typischerweise werden für die Darstellung von Algorithmen in Pseudocode wenige Schlüsselwörter verwendet, die in den meisten Programmiersprachen verwendet werden:
algorithmischer Bausteil | Schlüsselwort | Beispiel: Umsetzung in Python |
---|---|---|
Sequenz | X Y Z |
X
Y
Z
|
Eingabe | X = input |
X = input()
|
Ausgabe | print(X) |
print(X)
|
Rückgabe eines Ergebnisses | return X |
return X
|
Bedingte Verzweigung | if x then Y else Z endif |
if X:
Y
else:
Z
|
Bedingte Wiederholung | while X do Y endwhile |
while X:
Y
|
Wiederholung mit Laufvariable | for T from U to V step W do X endfor |
for T in range(U, V+1, W):
X
|
Wiederholung über einer Datenstruktur | for X in Y do Z endfor |
for X in Y:
Z
|
Achtung: Pseudocode ist keine sauber ausdefinierte Programmiersprache mit einer festen Syntax, sondern nur eine Konvention, an die man sich halten soll. Darum wirst du nie zwei Personen finden, die denselben Pseudocode schreiben. In manchen Teams wird z.B. fi
statt endif
geschrieben.
Beispiel
Der folgende Pseudocode beschreibt den Euklidischen Algorithmus zur Bestimmung des größten gemeinsamen Teilers zweier Zahlen:
input A input B if A = 0 then return B endif while B > 0 do if A > B then A = A - B else B = B - A endif endwhile return A
Alternativen
Statt textuell können Algorithmen auch grafisch dargestellt werden, etwa mit Programmablaufplänen.