Jeder Algorithmus — egal wie komplex — lässt sich aus drei grundlegenden Strukturen aufbauen: Sequenz, Selektion und Iteration. Das Verstehen dieser Strukturen hilft dir, Pseudocode präzise und verständlich zu schreiben.
1. Sequenz (Folge)
Eine Sequenz ist eine Reihe von Anweisungen, die nacheinander ausgeführt werden:
BEGINN
EINGABE laenge
EINGABE breite
SETZE flaeche = laenge * breite
AUSGABE "Fläche: " + flaeche
ENDE
Jede Zeile wird der Reihe nach ausgeführt — von oben nach unten, ohne Verzweigungen.
2. Selektion (Auswahl/Entscheidung)
Eine Selektion führt unterschiedliche Anweisungen aus, je nachdem ob eine Bedingung wahr oder falsch ist.
Einfache Auswahl
WENN bedingung DANN
anweisungen
ENDE WENN
Zweigliedrige Auswahl
WENN bedingung DANN
anweisungen_wenn_wahr
SONST
anweisungen_wenn_falsch
ENDE WENN
Mehrgliedrige Auswahl
WENN bedingung1 DANN
anweisungen1
SONST WENN bedingung2 DANN
anweisungen2
SONST
standard_anweisungen
ENDE WENN
Beispiel — Altersgruppe bestimmen:
EINGABE alter
WENN alter < 13 DANN
AUSGABE "Kind"
SONST WENN alter < 18 DANN
AUSGABE "Jugendlicher"
SONST
AUSGABE "Erwachsener"
ENDE WENN
In Pseudocode wird eine WENN-SONST-Struktur immer mit ENDE WENN abgeschlossen. Das zeigt klar, wo die bedingte Anweisung endet und der normale Code weiterläuft.
3. Iteration (Schleife)
Iteration wiederholt Anweisungen mehrmals.
Zählschleife (For-Schleife)
FÜR i = startwert BIS endwert
anweisungen
ENDE FÜR
Beispiel — Quadratzahlen ausgeben:
FÜR i = 1 BIS 5
AUSGABE i * i
ENDE FÜR
Bedingte Schleife (While-Schleife)
SOLANGE bedingung WIEDERHOLE
anweisungen
ENDE SOLANGE
Beispiel — Passwort abfragen:
SETZE eingabe = ""
SOLANGE eingabe ≠ "geheim" WIEDERHOLE
EINGABE eingabe
WENN eingabe ≠ "geheim" DANN
AUSGABE "Falsches Passwort!"
ENDE WENN
ENDE SOLANGE
AUSGABE "Zugang gewährt"
Die Wahl zwischen For-Schleife und While-Schleife: Nutze eine Zählschleife, wenn du weißt, wie oft die Schleife laufen soll. Nutze eine bedingte Schleife, wenn die Anzahl der Wiederholungen von einer Bedingung abhängt.
Verschachtelte Strukturen
Strukturen können ineinander verschachtelt werden:
FÜR zeile = 1 BIS 3
FÜR spalte = 1 BIS 3
AUSGABE zeile * spalte
ENDE FÜR
AUSGABE (neue Zeile)
ENDE FÜR
Ergibt:
1 2 3
2 4 6
3 6 9
Vollständiges Beispiel: Zahlen sortieren
BEGINN
EINGABE liste (z. B. [5, 2, 8, 1, 4])
SETZE n = Länge von liste
FÜR durchlauf = 0 BIS n-2
FÜR i = 0 BIS n-2-durchlauf
WENN liste[i] > liste[i+1] DANN
TAUSCHE liste[i] mit liste[i+1]
ENDE WENN
ENDE FÜR
ENDE FÜR
AUSGABE "Sortierte Liste: " + liste
ENDE
Beachte die Einrückungen bei verschachtelten Strukturen. Jede Ebene wird weiter eingerückt, damit klar ist, welche Anweisungen zu welchem Block gehören. Ohne Einrückungen wird Pseudocode schnell unlesbar.
Übungsaufgaben
Welche der drei Grundstrukturen (Sequenz, Selektion, Iteration) wird in folgendem Pseudocode verwendet? 'SOLANGE kontostand < 0 WIEDERHOLE: AUSGABE Warnung / EINGABE einzahlung / SETZE kontostand = kontostand + einzahlung / ENDE SOLANGE'
Antwort anzeigen
Schreibe Pseudocode für einen Algorithmus, der die Summe aller geraden Zahlen von 1 bis 20 berechnet.