Nassi-Shneidermann

Die Symbole für das Erstellen von Struktogrammen (Nassi-Shneiderman-Diagramm) belaufen sich auf die Programmkonstrukte Sequenz, Auswahl und Wiederholung. Diese können vielfältig modifiziert werden und damit auf die Problematik des Anwenders angepasst werden.

Ein Struktogramm wird immer von oben nach unten durchlaufen. Die Blöcke können beliebig oft geschachtelt werden, sowie aufeinander folgen. Dabei wird ein Block immer durch seinen Eingang betreten und durch seinen Ausgang verlassen.

 

 
 
 
 
 
 
 
    1. Sequenz
      VorschauEine Sequenz (Abbildung "Sequenz") kann eine beliebige Anzahl von Programmanweisungen beinhalten, die nacheinander schrittweise abgearbeitet werden.
    2. Auswahl
      VorschauEine Auswahl (Abbildung "Auswahl") beschreibt eine Verzweigung aufgrund einer eindeutigen Bedingung. Dabei gibt es mehere Möglichkeiten den Auswahl-Typ zu erweitern:
    3. Wiederholung
      VorschauDieser Block führt aufgrund einer Bedingung eine bestimmte Anzahl von Durchläufen aus. In Abbildung "Wiederholung" wird die Bedingung am Anfang des Blocks überprüft. Man nennt die Bedingung in diesem Fall Ausführungsbedingung. Ist die Bedingung erfüllt, wird der Anweisungsblock durchlaufen. Andernfalls wird der nachfolgende Programmabschnitt abgehandelt.

      Abwandlungen des Wiederholungsblocks:
      • VorschauWiederholung mit Abbruchbedingung (Abbildung "Abbruchbedingung")
        Die Bedingung wird am Ende der Schleife überprüft. Ist sie erfüllt, wird die folgende Sequenz bearbeitet.
      • VorschauWiederholung mit unendlicher Schleife (loop) (Abbildung "Endlosschleife")
        Eingangs- und Abbruchbedingung werden nicht explizit abgefragt. Dieser Block ist nur dann funktionsfähig, wenn innerhalb des zu wiederholenden Blockes mindestens eine Abbruchbedingung vorgesehen ist, die das Verlassen des Blockes ermöglicht.


Analogismus in Matlab

Sequenz:
jede Zuweisung wie v = [1 3 4]
Auswahl:
if-else-Block
Mehrfachverzweigung: if-ifelse-Block
switch-Block
Mehrfachverzweigung mit alternativer Verarbeitung:
if-ifelse-else-Block
switch-Block mit otherwise
Wiederholung:
for-Block
while-Block
Wiederholung mit Abbruchbedinung:
nicht vorhanden
Wiederholung mit unendlicher Schleife:
while(true)-Block mit Abbruchbedingung

Beispiel:

Voraussetzung zum Bestehen der GeDV-Prüfung ist die Anmeldung zur GeDV-Klausur (Abbildung "Struktogramm"). Dies wird in einer Sequenz eingetragen. Nach Eingang der PST-Note sowie der Abgabe der GeDV-Klausur, wird in einer Schleife mit Abbruchbedingung abgefragt, ob die GeDV-Note besser als 5,0 ist. Wenn nein, dann muss der Kurs bzw. die Prüfung so lange wiederholt werden, bis die Prüfung bestanden wurde.

Ist die Note besser als 5,0, also die Prüfung bestanden, gibt es die Möglichkeit der Notenverbesserung. In einer Auswahl wird abgefragt, ob die PST-Note besser als die GeDV-Note ist. Ist dies der Fall (Ja), tritt das Notenverbesserungsprozedere ein. Es wird von der GeDV 0,3 abgezogen und gerundet. Ist dies nicht der Fall (Nein), bleibt die Note bestehen. In jedem Fall ist die Prüfung bestanden.