Pseudocode: Unterschied zwischen den Versionen

Aus KGS-Wiki
Keine Bearbeitungszusammenfassung
K (Link gefixt)
 
(2 dazwischenliegende Versionen desselben Benutzers werden 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|Variablen]] oder [[Datenstruktur|Datenstrukturen]] beziehen. Entscheidend ist, dass die Pseudocode-Anweisungen unkompliziert in eine reale Sprache übersetzt werden können.
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 45: Zeile 45:
X = input
X = input
</pre>
</pre>
|<syntaxhighlight>
|<syntaxhighlight lang="python">
X = input()
X = input()
</syntaxhighlight>
</syntaxhighlight>
Zeile 111: Zeile 111:
</syntaxhighlight>
</syntaxhighlight>
|}
|}
{{Hinweisbaustein
{{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.}}
| INHALT = '''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.
| ICON = [[Datei:Achtung.svg|32px]]
}}


== 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:

  1. Der Entwurf von Algorithmen, der ein tiefes Verständnis von theoretischer Informatik erfordert.
  2. 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

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.