Pseudocode-Anleitung für Braille-Struktogramme

Schritt-für-Schritt-Erklärung aller Bausteine mit Beispielen

← Zurück zum Generator

Was ist ein Struktogramm?

Ein Struktogramm ist eine grafische Darstellung eines Programms oder Algorithmus. Es zeigt den Ablauf von Anweisungen, Entscheidungen und Schleifen in übersichtlichen Blöcken.

Für blinde Nutzer: Der Generator erzeugt taktil fühlbare SVG-Grafiken mit Braille-Schrift (Euro850), die auf einem Braille-Drucker ausgedruckt werden können.

Grundprinzip: Einrückung

Die Bausteine im Überblick

BausteinSchlüsselwortWas macht er?
SequenzSEQUENZFasst mehrere Anweisungen zusammen
Anweisung(kein Schlüsselwort)Ein einzelner Befehl
VerzweigungWENN / SONSTEntscheidung zwischen zwei Wegen
FallunterscheidungFALL / IST / SONSTMehrere Fälle prüfen
Kopfgesteuerte SchleifeSOLANGEWiederhole, solange Bedingung wahr
Fußgesteuerte SchleifeWIEDERHOLE / SOLANGEWiederhole mindestens einmal
EndlosschleifeENDLOSSCHLEIFE / ABBRUCHLäuft bis Abbruchbedingung
UnterprogrammAUFRUFRuft ein anderes Programm auf
RückgabeRUECKGABEGibt einen Wert zurück

1. SEQUENZ — Anweisungen gruppieren

Die SEQUENZ fasst mehrere Anweisungen zu einem Block zusammen. Sie ist wie ein Ordner, der mehrere Dateien enthält.

Abbildung

┌─────────────────────────────┐
│  SEQUENZ Zahlenfolge        │
├─────────────────────────────┤
│  i = 0                      │
├─────────────────────────────┤
│  summe = 0                  │
└─────────────────────────────┘

Beispiel

SEQUENZ Zahlenfolge
  i = 0
  summe = 0
ENDE

2. Anweisung — Ein einzelner Befehl

Eine Anweisung ist ein einzelner Befehl, der etwas tut: einen Wert zuweisen, etwas berechnen, etwas ausgeben.

Abbildung

┌─────────────────────────────┐
│  summe = a + b              │
└─────────────────────────────┘

Beispiel

summe = a + b
Ausgabe: Hallo Welt
x = x + 1

3. WENN / SONST — Entscheidung treffen

WENN prüft eine Bedingung. Wenn sie wahr ist, wird der eine Weg gegangen, sonst der andere.

Abbildung

        ┌─────────────────────────────┐
        │         a > b ?             │
        │            /\               │
        │           /  \              │
        │          /    \             │
        │         /      \            │
        │        / J      \ N         │
        │       /          \          │
        │      /            \         │
        ├─────────────────────────────┤
        │  Ausgabe: a       │  Ausgabe: b
        │  ist größer       │  ist größer
        └─────────────────────────────┘

Beispiel

WENN a > b
  Ausgabe: a ist größer
SONST
  Ausgabe: b ist größer oder gleich
ENDE
Wichtig! WENN und SONST müssen auf der gleichen Einrückungsebene stehen!
SEQUENZ
  WENN x > 0        ← gleiche Einrückung
    Ausgabe: positiv
  SONST             ← gleiche Einrückung wie WENN!
    Ausgabe: nicht positiv
  ENDE
ENDE

4. FALL / IST / SONST — Mehrere Fälle prüfen

FALL prüft einen Wert gegen mehrere Möglichkeiten. Wie ein Schalter mit mehreren Positionen.

Abbildung

┌─────────────────────────────────────────┐
│  monat \ 1      │ 2      │ 3     │sonst │
├─────────────────────────────────────────┤
│  Januar  │ Februar │ März   │ anderer  │
│          │         │        │ Monat    │
└─────────────────────────────────────────┘

Beispiel

FALL monat
  IST 1
    Ausgabe: Januar
  IST 2
    Ausgabe: Februar
  IST 3
    Ausgabe: März
  SONST
    Ausgabe: anderer Monat
ENDE
Inline-Schreibweise: Für kurze Fälle kannst du alles in einer Zeile schreiben:
FALL status
  IST 1 Ausgabe: aktiv
  IST 0 Ausgabe: inaktiv
  SONST Ausgabe: unbekannt
ENDE

5. SOLANGE — Kopfgesteuerte Schleife

SOLANGE wiederholt den Body, solange die Bedingung wahr ist. Die Prüfung erfolgt vor jedem Durchlauf.

Abbildung

┌─────────────────────────────┐
│      i < 10 ?               │
├─────────────────────────────┤
│  ┌─────────────────────┐    │
│  │  summe = summe + i  │    │
│  ├─────────────────────┤    │
│  │  i = i + 1          │    │
│  └─────────────────────┘    │
└─────────────────────────────┘

Beispiel

SOLANGE i < 10
  summe = summe + i
  i = i + 1
ENDE

6. WIEDERHOLE / SOLANGE — Fußgesteuerte Schleife

WIEDERHOLE führt den Body mindestens einmal aus, dann prüft SOLANGE die Bedingung.

Abbildung

┌─────────────────────────────┐
│  ┌─────────────────────┐    │
│  │  summe = summe + i  │    │
│  ├─────────────────────┤    │
│  │  i = i + 1          │    │
│  └─────────────────────┘    │
├─────────────────────────────┤
│      i < 10 ?               │
└─────────────────────────────┘

Beispiel

WIEDERHOLE
  summe = summe + i
  i = i + 1
SOLANGE i < 10
ENDE
Unterschied zu SOLANGE:
SOLANGE = Prüfung vor dem Durchlauf (kann 0-mal laufen)
WIEDERHOLE = Prüfung nach dem Durchlauf (läuft mindestens 1-mal)

7. ENDLOSSCHLEIFE / ABBRUCH — Endlosschleife mit Ausstieg

ENDLOSSCHLEIFE läuft theoretisch unendlich, bis ABBRUCH die Bedingung erfüllt.

Abbildung

┌─────────────────────────────┐
│  ∞                          │
├─────────────────────────────┤
│  ┌─────────────────────┐    │
│  │  Daten einlesen     │    │
│  ├─────────────────────┤    │
│  │  Daten verarbeiten  │    │
│  └─────────────────────┘    │
├─────────────────────────────┤
│  → ABBRUCH daten == null    │
└─────────────────────────────┘

Beispiel

ENDLOSSCHLEIFE
  Daten einlesen
  ABBRUCH daten == null
  Daten verarbeiten
ENDE
Falsch: ABBRUCH in WENN verschachtelt
ENDLOSSCHLEIFE
  WENN daten == null
    ABBRUCH        ← FALSCH!
  ENDE
  Daten verarbeiten
ENDE
Richtig: ABBRUCH direkt in der Schleife
ENDLOSSCHLEIFE
  Daten einlesen
  ABBRUCH daten == null   ← RICHTIG!
  Daten verarbeiten
ENDE

8. AUFRUF — Unterprogramm aufrufen

AUFRUF ruft ein anderes Programm oder eine Funktion auf.

Abbildung

┌─────────────────────────────┐
│  │  berechneSumme(a, b)  │  │
└─────────────────────────────┘

Beispiel

AUFRUF berechneSumme(a, b)

9. RUECKGABE — Wert zurückgeben

RUECKGABE beendet die Funktion und gibt einen Wert zurück.

Abbildung

┌─────────────────────────────┐
│  ←      summe      →        │
└─────────────────────────────┘

Beispiel

RUECKGABE summe

10. ABBRUCH (außerhalb von Schleifen)

ABBRUCH außerhalb einer ENDLOSSCHLEIFE wird als Pfeilform dargestellt (ähnlich wie RUECKGABE).

Abbildung

┌─────────────────────────────┐
│  ←     abbruch     →        │
└─────────────────────────────┘

Beispiel

ABBRUCH fehler aufgetreten

Vollständiges Beispiel

Hier ein komplettes Programm, das alle Bausteine verwendet:

SEQUENZ Zahlenfolge
  i = 0
  summe = 0
  ENDLOSSCHLEIFE
    i = i + 1
    summe = summe + i
    ABBRUCH i >= 5
  ENDE
  WENN summe > 10
    status = 1
  SONST
    status = 0
  ENDE
  FALL status
    IST 1
      Ausgabe: Summe groß
    IST 0
      Ausgabe: Summe klein
    SONST
      Ausgabe: Fehler
  ENDE
  AUFRUF druckeErgebnis(summe)
  RUECKGABE summe
ENDE

Tipps & Tricks


Häufige Fehler

Fehler 1: Fehlende Einrückung

SEQUENZ
WENN x > 0        ← FALSCH! Nicht eingerückt!
Ausgabe: positiv  ← FALSCH!
ENDE

Fehler 2: SONST falsch eingerückt

SEQUENZ
  WENN x > 0
    Ausgabe: positiv
    SONST         ← FALSCH! Zu weit eingerückt!
      Ausgabe: negativ
  ENDE
ENDE

Fehler 3: ABBRUCH in WENN verschachtelt

ENDLOSSCHLEIFE
  WENN fertig
    ABBRUCH       ← FALSCH!
  ENDE
ENDE

Fehler 4: ENDE vergessen

SEQUENZ
  a = 1
  WENN a > 0
    Ausgabe: positiv
  ENDE
                ← FALSCH! ENDE für SEQUENZ fehlt!

Export & Druck

Die SVG-Datei kann in Inkscape geöffnet und für den Braille-Druck vorbereitet werden.


← Zurück zum Generator