Nassi-Shneiderman-Diagramm
Bei Struktogrammen (Nassi-Shneiderman-Diagramm) werden die Symbole durch die Programmkonstrukte "Sequenz", "Auswahl" und "Wiederholung" dargestellt. Diese können vielfältig modifiziert 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 von oben betreten und unten verlassen.
- Sequenz
Eine Sequenz (Abbildung "Sequenz") kann eine beliebige Anzahl von Programmanweisungen beinhalten, die nacheinander schrittweise abgearbeitet werden.
- Auswahl
Eine Auswahl (Abbildung "Auswahl") beschreibt eine Verzweigung aufgrund einer eindeutigen Bedingung. Dabei gibt es mehrere Möglichkeiten den Auswahl-Typ zu erweitern:
Mehrfachverzweigung (Abbildung "AuswahlA")
Mehrfachverzweigung mit alternativer Verarbeitung (Abbildung "AuswahlB")
- Wiederholung
Dieser 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 abgearbeitet.
Abwandlungen des Wiederholungsblocks:
Wiederholung mit Abbruchbedingung (Abbildung "Abbruchbedingung")
Die Bedingung wird am Ende der Schleife überprüft. Ist sie erfüllt, wird die folgende Sequenz bearbeitet.Wiederholung 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 Abbruchbedingung: |
nicht vorhanden |
Wiederholung mit unendlicher Schleife: |
while(true)-Block mit Abbruchbedingung |
Beispiel:
Voraussetzung zum Bestehen der IKT-Prüfung ist die Anmeldung zur IKT-Klausur (Abbildung "Struktogramm"). Dies wird in einer Sequenz eingetragen. Nach Eingang der PST-Note sowie der Abgabe der IKT-Klausur, wird in einer Schleife mit Abbruchbedingung abgefragt, ob die IKT-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 IKT-Note ist. Ist dies der Fall (Ja), tritt das Notenverbesserungsprozedere ein. Es wird von der IKT 0,3 abgezogen und auf Notenstufe gerundet. Ist dies nicht der Fall (Nein), bleibt die Note bestehen. In jedem Fall ist die Prüfung bestanden.