Programmentwurfstechniken
Eine kurze Übersicht der verbreitetsten Programmentwurfstechniken und deren Notation für Programmsequenzen, bedingte Anweisungen, Wiederholungsstrukturen und Grenzstellen.
Eine für den Druck besser geeignete Tabelle (ohne Blog-Menü) findet sich hier (link).
Detailliertere Informationen zu Pseudocode (link) und dem UML-Aktiviätsdiagramm (link) finden sich in gesonderten Artikeln.
|
|
Quelltext-Fragment Java / C |
Pseudocode (Beispiel: Pseudo-Pascal, deutsch) |
Nassi-Shneiderman-Diagramm "Struktogramm", DIN 66261 |
Programm-Ablaufplan |
UML-Aktivitäts-Diagramm |
|
|
Sequenz: Lineare Aneinanderreihung von Operationen |
int zahl; zahl = 0; zahl = zahl + 1; |
zahl: INTEGER # Deklaration zahl := 1 # Zuweisung zahl := zahl + 1
|
|
(Rauten für Ein- und Ausgabe sind nicht Bestandteil der Norm, aber gängig) |
|
|
|
Bedingte Anweisung (bei zwei Alternativen, über logische Ausdrücke) |
if(Bedingung){ Anweisung }else{ Anweisung } |
WENN (Bedingung) DANN Anweisung SONST WENN (Bedingung) Anweisung SONST Anweisung ENDE WENN |
|
|
|
|
|
Bedingte Anweisung mit Mehrfachauswahl (Abfrage von konkreten Werten, keine logischen Ausdrücke) |
switch(variable){ case wert1: Anweisung; break; case wert2: Anweisung; break; default: Anweisung; break; } |
WERT VON variable ENTSPRICHT 1: Anweisung >=2: Anweisung SONST: Anweisung ENDE WERT VON |
|
|
|
|
|
Kopfgesteuerte Schleife (wird ggf. kein mal ausgeführt) |
while(Bedingung){ Anweisung; } |
SOLANGE (Bedingung) Anweisung ENDE SOLANGE |
|
|
|
|
|
Fußgesteuerte Schleife (wird in jedem Fall einmal ausgeführt) |
do { Anweisung; } while(Bedingung); |
WIEDERHOLE Anweisung SOLANGE (Bedingung) |
|
|
|
|
|
Zählergesteuerte Schleife (läuft eine definierte Anzahl) |
for(z=0; z<9; z++){ Anweisung; } |
ZÄHLE VON z := 0 BIS 8 Anweisung NÄCHSTES z
FÜR JEDES element VON liste Anweisung NÄCHSTES element
|
|
|
|
|
|
Methodenaufruf / Unterprogramm |
methodenaufruf(); |
methodenaufruf() |
(nicht Bestandteil der Norm, aber gängig) |
|
|
|
|
Grenzstelllen (im PAP werden Anfang/Ende und Verweise mit Ovalen dargestellt) |
|
|
|
|
|
|
|
Online-Tools |
|
|
Tools zum Erstellen z.B. StructEd, Struktogrammeditor, Structorizer Online-Tools: z.B.: |
Tools zum Erstellen z.B. Dia, PAP-Designer, MS Visio |
Tools zum Erstellen z.B.
|
|








![For decision points, a predefined guard [else] may be defined.](https://oer-informatik.gitlab.io/algorithmik/pseudocode/uebersicht/programmentwurfsmethoden-Dateien/image033.jpg)











