Menu
Coddy logo textTech

Pseudocode-Beispiele

15 durchgearbeitete Beispiele in Cambridge-IGCSE- und A-Level-Pseudocode, vom ersten OUTPUT bis zu Bubble Sort. Jedes zeigt seine Ausgabe, und du kannst es im Editor unten ausführen.

So liest du diese Beispiele

Pseudocode beschreibt die Schritte eines Programms in strukturierter, englischnaher Sprache, ohne die strengen Regeln einer echten Programmiersprache. Jedes Beispiel unten verwendet den Cambridge-Stil aus den IGCSE- und A-Level-Prüfungen: DECLARE für Variablen, ← für Zuweisungen, OUTPUT für Ausgaben und Blöcke, die mit ENDIF, NEXT oder ENDWHILE geschlossen werden.

Jedes Beispiel nennt eine Aufgabe, zeigt den Pseudocode und die Ausgabe, die er erzeugt, und erklärt, wie er funktioniert. Klicke auf Im Editor ausführen, um ein Beispiel in den Editor oben auf der Seite zu laden. Dort kannst du es Zeile für Zeile durchgehen und zusehen, wie sich die Variablen ändern. Neu bei der Syntax? Der Pseudocode-Editor hat eine anklickbare Übersicht aller Konstrukte.

1. Hello, World

Eine Nachricht auf dem Bildschirm ausgeben.

Pseudocode
OUTPUT "Hello, World!"
Ausgabe
Hello, World!

OUTPUT gibt aus, was danach folgt, und Text steht in doppelten Anführungszeichen. Diese eine Zeile ist schon ein vollständiges Programm: Pseudocode braucht keine main-Funktion und keine Imports.

2. Zwei Zahlen addieren

Zwei ganze Zahlen speichern, addieren und die Summe ausgeben.

Pseudocode
DECLARE a : INTEGER
DECLARE b : INTEGER
DECLARE total : INTEGER
a ← 12
b ← 30
total ← a + b
OUTPUT "The total is ", total
Ausgabe
The total is 42

Jede Variable wird vor ihrer Verwendung mit einem Namen und einem Typ deklariert. Der Pfeil ← speichert einen Wert, lies total ← a + b also als „total wird a plus b“. Ein Komma in OUTPUT verbindet Text und Wert in einer Zeile.

3. Gerade oder ungerade

Entscheiden, ob eine Zahl gerade oder ungerade ist.

Pseudocode
DECLARE n : INTEGER
n ← 17
IF n MOD 2 = 0 THEN
    OUTPUT n, " is even"
ELSE
    OUTPUT n, " is odd"
ENDIF
Ausgabe
17 is odd

MOD liefert den Rest einer Division. Eine gerade Zahl lässt bei der Division durch 2 keinen Rest, also ist n MOD 2 = 0 die Prüfung. IF wählt einen von zwei Zweigen, und ENDIF schließt den Block. Im Pseudocode vergleicht ein einzelnes = zwei Werte; es weist nie etwas zu.

4. Eine Testpunktzahl benoten

Eine Punktzahl von 100 in eine Note umwandeln: A ab 80, B von 60 bis 79, C unter 60.

Pseudocode
DECLARE score : INTEGER
DECLARE grade : CHAR
score ← 74
IF score >= 80 THEN
    grade ← 'A'
ELSE
    IF score >= 60 THEN
        grade ← 'B'
    ELSE
        grade ← 'C'
    ENDIF
ENDIF
OUTPUT "Score ", score, " gets grade ", grade
Ausgabe
Score 74 gets grade B

Die Prüfungen laufen von der höchsten Grenze abwärts, deshalb scheitert eine Punktzahl von 74 an der ersten Prüfung und besteht die zweite. Ein IF im ELSE eines anderen ist die Art, wie Cambridge-Pseudocode eine Else-if-Kette schreibt. Ein CHAR enthält ein einzelnes Zeichen in einfachen Anführungszeichen.

5. Die Zahlen von 1 bis 10 addieren

Alle ganzen Zahlen von 1 bis 10 zusammenzählen.

Pseudocode
DECLARE total : INTEGER
DECLARE i : INTEGER
total ← 0
FOR i ← 1 TO 10
    total ← total + i
NEXT i
OUTPUT "Sum of 1 to 10 is ", total
Ausgabe
Sum of 1 to 10 is 55

Eine FOR-Schleife läuft eine feste Anzahl von Durchgängen: i nimmt die Werte 1, 2, 3 und so weiter bis 10 an, und NEXT i markiert das Ende des Schleifenrumpfs. Die laufende Summe beginnt bei 0 und wächst in jedem Durchgang. Das Ergebnis, 55, stimmt mit der Formel n(n + 1) / 2 überein.

6. Eine Einmaleins-Reihe ausgeben

Die ersten fünf Zeilen der Siebenerreihe ausgeben.

Pseudocode
DECLARE i : INTEGER
FOR i ← 1 TO 5
    OUTPUT "7 x ", i, " = ", 7 * i
NEXT i
Ausgabe
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35

Der Schleifenzähler i wird in der Rechnung verwendet, deshalb gibt jeder Durchgang eine andere Zeile aus. OUTPUT kann mehrere Textstücke und mehrere Werte mit Kommas verbinden.

7. Mit einer WHILE-Schleife herunterzählen

Von 5 bis 1 herunterzählen und dann eine Schlussnachricht ausgeben.

Pseudocode
DECLARE count : INTEGER
count ← 5
WHILE count > 0 DO
    OUTPUT count
    count ← count - 1
ENDWHILE
OUTPUT "Liftoff!"
Ausgabe
5
4
3
2
1
Liftoff!

Eine WHILE-Schleife prüft ihre Bedingung vor jedem Durchgang und hört auf, sobald die Bedingung falsch ist. Hier lautet die Bedingung count > 0, und der Rumpf verringert count jedes Mal um eins. Lässt du die Zeile weg, die den Wert verringert, endet die Schleife nie. Nimm WHILE, wenn du vorher nicht weißt, wie viele Durchgänge du brauchst.

8. Die größte Zahl in einem Array finden

Den größten Wert in einer Liste von sechs Zahlen finden.

Pseudocode
DECLARE nums : ARRAY[1:6] OF INTEGER
DECLARE i : INTEGER
DECLARE largest : INTEGER
nums[1] ← 14
nums[2] ← 3
nums[3] ← 27
nums[4] ← 9
nums[5] ← 21
nums[6] ← 6
largest ← nums[1]
FOR i ← 2 TO 6
    IF nums[i] > largest THEN
        largest ← nums[i]
    ENDIF
NEXT i
OUTPUT "The largest number is ", largest
Ausgabe
The largest number is 27

ARRAY[1:6] deklariert sechs Plätze mit den Nummern 1 bis 6, weil Arrays bei Cambridge meist bei 1 beginnen. Das Programm nimmt an, dass das erste Element das größte ist, vergleicht dann jedes weitere Element damit und behält das größere. Nach einem Durchgang durch das Array steht die Antwort in largest.

9. Einen Durchschnitt berechnen

Den Durchschnitt von vier Testnoten bestimmen.

Pseudocode
DECLARE marks : ARRAY[1:4] OF INTEGER
DECLARE i : INTEGER
DECLARE total : INTEGER
marks[1] ← 70
marks[2] ← 85
marks[3] ← 64
marks[4] ← 91
total ← 0
FOR i ← 1 TO 4
    total ← total + marks[i]
NEXT i
OUTPUT "Average mark: ", total / 4
Ausgabe
Average mark: 77.5

Die Schleife addiert jedes Element des Arrays zu total, danach teilt das Programm durch die Anzahl der Noten. Der Operator / liefert ein Ergebnis mit Nachkommastellen, deshalb lautet die Ausgabe 77.5. Nimm stattdessen DIV, wenn du eine ganzzahlige Division willst.

11. Bubble Sort

Fünf Zahlen aufsteigend sortieren.

Pseudocode
DECLARE nums : ARRAY[1:5] OF INTEGER
DECLARE i : INTEGER
DECLARE j : INTEGER
DECLARE temp : INTEGER
nums[1] ← 5
nums[2] ← 1
nums[3] ← 4
nums[4] ← 2
nums[5] ← 8
FOR i ← 1 TO 4
    FOR j ← 1 TO 5 - i
        IF nums[j] > nums[j + 1] THEN
            temp ← nums[j]
            nums[j] ← nums[j + 1]
            nums[j + 1] ← temp
        ENDIF
    NEXT j
NEXT i
FOR i ← 1 TO 5
    OUTPUT nums[i]
NEXT i
Ausgabe
1
2
4
5
8

Bubble Sort vergleicht jedes Paar benachbarter Elemente und vertauscht sie, wenn sie in der falschen Reihenfolge stehen. Nach jedem Durchgang der äußeren Schleife ist der größte verbleibende Wert ans Ende gewandert, deshalb kann die innere Schleife jedes Mal ein Element früher aufhören. Für das Vertauschen braucht man eine dritte Variable, temp, die einen Wert festhält, während der andere kopiert wird.

Diesen Algorithmus als Animation ansehen

12. Fakultät mit einer Funktion

Eine Funktion schreiben, die n Fakultät (n!) zurückgibt, und damit 5! ausrechnen.

Pseudocode
FUNCTION Factorial(n : INTEGER) RETURNS INTEGER
    DECLARE result : INTEGER
    DECLARE i : INTEGER
    result ← 1
    FOR i ← 2 TO n
        result ← result * i
    NEXT i
    RETURN result
ENDFUNCTION

OUTPUT "5! = ", Factorial(5)
Ausgabe
5! = 120

Eine FUNCTION nimmt Parameter entgegen, erledigt ihre Arbeit und gibt mit RETURN einen Wert zurück; ihr Kopf nennt den Rückgabetyp. Variablen, die darin deklariert werden, existieren nur, solange sie läuft. 5! ist 5 × 4 × 3 × 2 × 1, also 120.

13. Die Vokale in einem Wort zählen

Zählen, wie viele Vokale das Wort PSEUDOCODE enthält.

Pseudocode
DECLARE word : STRING
DECLARE letter : CHAR
DECLARE vowels : INTEGER
DECLARE i : INTEGER
word ← "PSEUDOCODE"
vowels ← 0
FOR i ← 1 TO LENGTH(word)
    letter ← SUBSTRING(word, i, 1)
    IF letter = 'A' OR letter = 'E' OR letter = 'I' OR letter = 'O' OR letter = 'U' THEN
        vowels ← vowels + 1
    ENDIF
NEXT i
OUTPUT word, " has ", vowels, " vowels"
Ausgabe
PSEUDOCODE has 5 vowels

LENGTH liefert die Anzahl der Zeichen in einem String, und SUBSTRING(word, i, 1) nimmt ein Zeichen ab Position i. Die Schleife besucht jedes Zeichen und erhöht den Zähler um eins, wenn es A, E, I, O oder U ist.

14. FizzBuzz

Die Zahlen von 1 bis 15 ausgeben, aber Fizz für Vielfache von 3, Buzz für Vielfache von 5 und FizzBuzz für Vielfache von beiden.

Pseudocode
DECLARE i : INTEGER
FOR i ← 1 TO 15
    IF i MOD 15 = 0 THEN
        OUTPUT "FizzBuzz"
    ELSE
        IF i MOD 3 = 0 THEN
            OUTPUT "Fizz"
        ELSE
            IF i MOD 5 = 0 THEN
                OUTPUT "Buzz"
            ELSE
                OUTPUT i
            ENDIF
        ENDIF
    ENDIF
NEXT i
Ausgabe
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

Die Reihenfolge der Prüfungen ist wichtig. 15 ist ein Vielfaches von 3 und von 5, deshalb muss die Prüfung auf 15 zuerst kommen; sonst würde das Programm Fizz ausgeben und FizzBuzz nie erreichen. Es ist eine klassische Aufwärmaufgabe in Vorstellungsgesprächen, weil sie genau diese Art von Überlegung prüft.

15. Passwortversuche mit REPEAT UNTIL

Bis zu drei Passwörter nacheinander ausprobieren und Zugang gewähren, wenn eines davon stimmt.

Pseudocode
DECLARE attempts : ARRAY[1:3] OF STRING
DECLARE tries : INTEGER
DECLARE guess : STRING
attempts[1] ← "hunter1"
attempts[2] ← "letmein"
attempts[3] ← "open sesame"
tries ← 0
REPEAT
    tries ← tries + 1
    guess ← attempts[tries]
    OUTPUT "Try ", tries, ": ", guess
UNTIL guess = "open sesame" OR tries = 3
IF guess = "open sesame" THEN
    OUTPUT "Access granted"
ELSE
    OUTPUT "Locked out"
ENDIF
Ausgabe
Try 1: hunter1
Try 2: letmein
Try 3: open sesame
Access granted

Eine REPEAT ... UNTIL-Schleife prüft ihre Bedingung am Ende, deshalb läuft der Rumpf immer mindestens einmal. Sie hört auf, wenn das Passwort stimmt oder nach dem dritten Versuch. Die Versuche kommen aus einem Array, damit das Beispiel ohne Eingabe läuft; in einer Prüfungsantwort würdest du jeden Versuch meist mit INPUT einlesen.

FAQ zu Pseudocode-Beispielen

Was ist ein Beispiel für Pseudocode?

Ein kurzes Beispiel entscheidet, ob ein Test bestanden ist: IF score >= 50 THEN OUTPUT "Pass" ELSE OUTPUT "Fail" ENDIF. Das liest sich fast wie Englisch, folgt aber festen Regeln und lässt sich deshalb Zeile für Zeile in Python, Java oder jede andere Sprache übertragen. Die 15 Programme auf dieser Seite reichen von einer einzigen Zeile bis zu Suchen und Sortieren.

Wie schreibt man Pseudocode?

Überlege, was das Programm tun soll, und schreib die Schritte dann der Reihe nach mit wenigen Schlüsselwörtern auf: DECLARE für Variablen, ← für Zuweisungen, IF für Entscheidungen, FOR oder WHILE für Wiederholungen und OUTPUT für Ergebnisse. Rücke den Rumpf jedes Blocks ein, schließ ihn mit seinem End-Schlüsselwort und schreib pro Zeile nur eine Aktion.

Ist Pseudocode in jeder Prüfung gleich?

Nein. Cambridge (IGCSE und A-Level) verwendet DECLARE und den Pfeil ←, AQA verwendet ← ohne Deklarationen, die Exam Reference Language von OCR sieht aus wie Python, und Edexcel schreibt SET ... TO. Die Beispiele hier verwenden Cambridge; der Pseudocode-Editor wechselt zwischen allen vier Stilen.

Kann ich Pseudocode ausführen?

Ja, auf dieser Seite. Pseudocode ist keine echte Programmiersprache, deshalb gibt es keinen offiziellen Compiler. Der Editor hier führt Cambridge-Pseudocode aber in deinem Browser aus, zeigt die Ausgabe und geht ihn Zeile für Zeile durch. Klicke unter einem beliebigen Beispiel auf Im Editor ausführen.

Was ist der Unterschied zwischen Pseudocode und einem Flussdiagramm?

Beide beschreiben einen Algorithmus, bevor er programmiert wird. Ein Flussdiagramm zeichnet die Schritte als Kästen und Pfeile, was zu kurzen Abläufen mit wenigen Entscheidungen passt. Pseudocode schreibt sie als strukturierten Text, der auch für längere Programme taugt und sich direkter in echten Code übertragen lässt.

Muss ich Variablen im Pseudocode deklarieren?

Im Cambridge-Pseudocode ja: Die Bewertungsschemata erwarten DECLARE name : TYPE, bevor eine Variable verwendet wird. Andere Stile, etwa der von AQA, lassen Deklarationen weg. Eine Deklaration zeigt dem Leser außerdem, welche Art von Wert die Variable enthält.

Illustration der Programmiersprachen bei Coddy

Mit Coddy vom Pseudocode zu echtem Code

LOS GEHT'S