Skip to main content

Struktogramme


  • auch als Nassi-Shneiderman-Diagramme bekannt
  • Ziel: Darstellung eines Programms unabhängig von der Programmiersprache
  • Symbole
    • mit Hilfe dieser Symbole lässt sich der Ablauf eines Programms beschreiben
    • fast alle Symbole lassen sich beliebig ineinander verschachteln
    • Prozess Symbol / Process Symbol: Anweisungen werden nacheinander von oben nach unten durchlaufen.durchlaufen
      strukto_01.pngstrukto_01.png
      a = input("Zahl eingaben")
      b = 5 * a
      print(b)
    • Verzweigung / Decision Symbol
    • Symbol:
    • Bedingung
    • wird
    • geprüft, wenn Sie zu trifft wird "ja" ausgeführt, andernfalls "nein". Kann verschachtelt sein. 
      strukto_02.png
      if (a = 5):
      print("a ist fünf")
      else:
      print("a ist nicht fünf")
      • Sonderfall: Case-Statement: Inhalt der Variablen wird geprüft und entsprechender Fall wird ausgeführt. Manche Programmiersprachen haben "Switch" ansonsten mit "if - else if - else" auflösbar.
        strukto_03.png
        // Mit Switch aufgelöst
        case (a) {
        1: printf("a hat den Wert eins");
        2: printf("a hat den Wert zwei");
        3: printf("a hat den Wert drei");
        default: print("a ist größer drei");
        };

        // Mit if - else if - else aufgelöst
        if (a = 1) {
        printf("a hat den Wert eins");
        } else if (a = 2) {
        printf("a hat den Wert zwei");
        } else if (a = 3) {
        printf("a hat den Wert drei");
        } else {
        printf("a ist größer drei");
        };
    • Schleifen oder Wiederholungsstruktur: Struktur die solange durchlaufen wird, bis Endbedingung erfüllt ist
      • Kopfgesteuerte - Schleifen (z.B. while und for): Bedingung wird vor ersten durchlauf geprüft und nur dann betretten, wenn Bedingung zutrifft. Kann also auch nicht durchlaufen werden, wenn Endbedingung direkt zutrifft.
        strukto_05.png
        // Kopfgesteuerte for-Schleife
        for (i = 0; i < 10; i++) {
        printf("%i\n", i);
        }

        // Kopfgesteuerte while-Schleife
        while (i < 10) {
        printf("%i\n", i);
        i++;
        }
      • Fußgesteuerte - Schleife (z.B. do-while): Endbedingung wird nach dem ersten Durchlauf geprüft und wenn diese Zutrifft, wird die Schleife beendet. Sollte sie nicht zu treffen, wird die Schleife solange durchlaufen bis die Bedingung zutrifft.
        strukto_06.png
        // Fussgesteuerte-Schleife 
        do {
        printf("%i\n", a);
        a++;
        } while (a < 10);