Warum es Struktogramme gibt
Bevor jemand ein Programm schreibt, muss klar sein, was es in welcher Reihenfolge tun soll. Ein Struktogramm hält genau das fest: den Ablauf, ohne Programmiersprache, ohne Semikolons, ohne Klammern. Erfunden haben es Isaac Nassi und Ben Shneiderman Anfang der 1970er Jahre, deshalb heißt es auch Nassi-Shneiderman-Diagramm; in Deutschland ist es in der DIN 66261 festgelegt.
Die Idee ist einfach: Jeder Schritt ist ein Rechteck. Die Rechtecke stapeln sich von oben nach unten. Eine Entscheidung bekommt ein Dreieck im Kopf und teilt den Kasten in zwei Spalten. Eine Wiederholung bekommt einen Balken, der den Rumpf umklammert. Das sind die Grundformen: Sequenz, Verzweigung und Schleife in drei Varianten. Dazu kommen später die Mehrfachauswahl (Lektion 4) und der Aufruf eines Unterprogramms (Lektion 6). Genau deshalb eignet sich das Struktogramm für Prüfungsaufgaben: Man sieht auf einen Blick, ob jemand Sequenz, Auswahl und Wiederholung verstanden hat.
Das Beispiel liest sich fast wie ein Satz: „Lies die Punkte ein. Wenn sie mindestens 50 sind, gib ‚bestanden‘ aus, sonst ‚nicht bestanden‘.“ Diese Lesbarkeit ist der Sinn der Sache, und sie ist auch das, was die Prüfer sehen wollen.
Was die IHK-Prüfung erwartet
Struktogramme und Pseudocode gehören zur Abschlussprüfung Teil 1, die alle IT-Berufe gemeinsam schreiben. Häufig kommt dort eine Aufgabe vor, in der du einen Ablauf entweder lesen oder selbst entwerfen musst. Typische Formulierungen:
| So steht es in der Aufgabe | Was verlangt ist |
|---|---|
| „Ermitteln Sie die Ausgabe des Struktogramms für die Eingabe …“ | Lesen und nachvollziehen, meist mit einer Tabelle der Variablenwerte (Schreibtischtest, Lektion 4). |
| „Führen Sie einen Schreibtischtest durch …“ | Die Werte der Variablen Schritt für Schritt notieren, meist für eine vorgegebene Eingabe. |
| „Ergänzen Sie das Struktogramm um …“ | Ein vorgegebenes Struktogramm um einen Zweig oder eine Schleife erweitern. |
| „Finden und korrigieren Sie den Fehler im Pseudocode“ | Fehlersuche: Stimmt die Bedingung, der Startwert, die Zahl der Durchläufe (Off-by-one)? |
| „Entwerfen Sie den Algorithmus als Struktogramm oder in Pseudocode“ | Selbst entwerfen. Du darfst wählen; das Struktogramm macht Strukturfehler sichtbar, Pseudocode ist auf Papier schneller zu korrigieren. |
| „… in einer Programmiersprache Ihrer Wahl oder in Pseudocode“ | Auch hier zählt nur die Logik. Pseudocode reicht, solange die Struktur eindeutig ist. |
Bewertet wird typischerweise in kleinen Portionen: ein Punkt für die richtige Schleifenart, einer für die Bedingung, einer für die Initialisierung der Variablen, einer für die Ausgabe an der richtigen Stelle. Wer die Form beherrscht, sammelt diese Punkte auch dann, wenn der Algorithmus nicht perfekt ist. Andere richtige Lösungen werden in den Lösungshinweisen in der Regel anerkannt. Anwendungsentwickler treffen Struktogramme in der AP2 erneut, dann oft in Kombination mit einem Klassendiagramm.
Die Grundbausteine auf einen Blick
Jedes Struktogramm besteht aus diesen Formen. Du lernst sie in den nächsten Lektionen einzeln; hier siehst du sie einmal nebeneinander, damit du sie wiedererkennst.
| Form | Bedeutung | Pseudocode |
|---|---|---|
x = 5 Ausgabe x | Sequenz. Anweisungen der Reihe nach, jede in einem eigenen Rechteck. | x = 5AUSGABE x |
x > 0janein Ausgabe "positiv" Ausgabe "nicht positiv" | Verzweigung. Bedingung im Dreieck, links der Ja-Zweig, rechts der Nein-Zweig. | WENN x > 0 DANN … SONST … ENDE WENN |
solange x < 10 x = x + 1 | Kopfgesteuerte Schleife. Bedingung oben, Rumpf eingerückt. Wird geprüft, bevor der Rumpf läuft. | SOLANGE x < 10 … ENDE SOLANGE |
x = x + 1 bis x >= 10 | Fußgesteuerte Schleife. Rumpf zuerst, Bedingung unten. Läuft mindestens einmal. | WIEDERHOLE … BIS x >= 10 |
für i = 1 bis 5 Ausgabe i | Zählschleife. Eine kopfgesteuerte Schleife mit eingebautem Zähler. | FÜR i = 1 BIS 5 … ENDE FÜR |
Zwei Formen kommen später dazu: die Mehrfachauswahl (FALLS) in Lektion 4 und der Aufruf eines Unterprogramms in Lektion 6.
Die Pseudocode-Schreibweise dieses Kurses
Für Pseudocode gibt es keine Norm. Du darfst in der Prüfung eigene Wörter wählen, musst sie aber durchgehend gleich benutzen. Dieser Kurs nutzt eine deutsche Schreibweise, wie sie in Lehrbüchern und vielen Lösungshinweisen vorkommt. Schlüsselwörter in Großbuchstaben, Blöcke eingerückt, jeder Block mit einem eigenen Ende:
Struktogramm
Pseudocode
EINGABE punkte
WENN punkte >= 50 DANN
AUSGABE "bestanden"
SONST
AUSGABE "nicht bestanden"
ENDE WENNDie wichtigsten Regeln, die in beiden Schreibweisen gelten:
- Zuweisung mit
=(manche schreiben:=oder←, alle drei sind üblich). Links steht die Variable, rechts der Wert:summe = summe + i. - Vergleich mit
==für „ist gleich“, damit er sich von der Zuweisung unterscheidet, sowie<,>,<=,>=,!=. In vielen Struktogrammen und Lösungshinweisen steht=für den Vergleich und:=oder←für die Zuweisung. Der Kurs nutzt==für den Vergleich; beides ist verständlich, solange du es durchgehend gleich machst. - Ein- und Ausgabe als
EINGABE xundAUSGABE "Text". Im Struktogramm reicht „Eingabe x“ im Rechteck. Zeichenketten bekommen in Code und im Struktogramm gerade Anführungszeichen:"Text". - Bedingungen verknüpfst du mit
UND,ODER,NICHT. - Variablen bekommen sprechende Namen ohne Leerzeichen:
anzahl,maxWert,istGueltig.
Ein Struktogramm lesen
Lesen heißt: mit dem Finger von oben nach unten gehen und bei jeder Zeile aufschreiben, was sich ändert. Das üben wir gleich am ersten kompletten Beispiel. Es berechnet die Summe der Zahlen von 1 bis n.
So gehst du vor, wenn du herausfinden willst, was für n = 3 ausgegeben wird:
Eingabe n: n ist 3.summe = 0: summe ist 0. Diese Zeile heißt Initialisierung, sie legt den Startwert fest. Ohne sie wüsste niemand, womit die Addition beginnt.- Die Schleife: i startet bei 1. 1 ist nicht größer als 3, also Rumpf ausführen: summe = 0 + 1 = 1. Dann i = 2: summe = 1 + 2 = 3. Dann i = 3: summe = 3 + 3 = 6. Dann i = 4, das ist größer als n, die Schleife endet.
Ausgabe summe: 6.
Genau diese Schritte schreibt man in der Prüfung in eine Tabelle, den Schreibtischtest (Wertetabelle, englisch Trace), damit nichts verloren geht:
| Schritt | i | summe | Ausgabe |
|---|---|---|---|
| Start | · | 0 | · |
| Durchlauf 1 | 1 | 1 | · |
| Durchlauf 2 | 2 | 3 | · |
| Durchlauf 3 | 3 | 6 | · |
| Ende | 4 | 6 | 6 |
Führen Sie einen Schreibtischtest durch: Was gibt das Struktogramm „Summe von 1 bis n“ für n = 5 aus? Führe den Schreibtischtest auf Papier weiter, bevor du die Lösung aufklappst.
Musterlösung anzeigen
Ausgabe: 15. Die Summe wächst 1, 3, 6, 10, 15. Fünf Durchläufe, weil i die Werte 1 bis 5 annimmt; beim sechsten Prüfen ist i = 6 größer als n und die Schleife endet.
Jetzt selbst testen
Vier Fragen zum Einstieg. Du hast so viele Versuche, wie du willst.
Welche Form hat im Struktogramm eine Verzweigung?
Woran erkennst du im Struktogramm eine fußgesteuerte Schleife?
Was gibt „Summe von 1 bis n“ für n = 0 aus?
Eine Aufgabe sagt: „Entwerfen Sie den Algorithmus in Pseudocode oder als Struktogramm.“ Was gilt?