next up previous contents
Nächste Seite: Schleifen Aufwärts: Anweisungsentwurf mit Struktogrammen Vorherige Seite: Grundelemente   Inhalt


Fallunterscheidung

Zu den Fallunterscheidungen zählt die Verzweigung. Eine Bedingung ist auszuwerten; das Ergebnis ist entweder wahr (true, T) oder falsch (false, F). Dadurch ist bestimmt, welcher von zwei möglichen Zweigen des Programmpfades durchlaufen werden soll. Beispielsweise wird

\fbox{ wenn x gr\uml {o}\ss{}er oder gleich 0 ist bestimme und gebe die Wurzel von x aus }
als Struktogramm verfeinert zu

\begin{figure}\unitlength1cm
\begin{picture}(10,4)
\thicklines\put(1,1){\framebo...
...ne}}
\put(8.3,1.3){\makebox(0,0)[r]{reelle Wurzel'''}}
\end{picture}\end{figure}

und in einer Programmiersprache z.B. zu:

IF ($x \ge 0$) THEN
PRINT*, sqrt(x)
ELSE
PRINT*, 'keine reelle Wurzel'
ENDIF

Es kann sein, daß ein Programmpfad leer bleibt, z.B.

\fbox{ verringere positives n um l }
wird als Struktogramm zu

\begin{figure}\unitlength1cm
\begin{picture}(10,4)
\thicklines\put(1,1){\framebo...
...0,0)[l]{$n=n-1$}}
\put(8.3,1.5){\makebox(0,0)[r]{---}}
\end{picture}\end{figure}

und in einer Programmiersprache z.B. zu:
IF ($n>0$) $n = n-1$

Man beachte, daß die mathematisch unsinnige Formulierung $n = n-1$ in einer Programmiersprache eine andere Bedeutung hat: die Anweisung $n = n-1$ bedeutet, daß in der Variablen $n$ nach Auswertung des Ausdrucks der Wert $n-1$ abgespeichert wird.

Eine allgemeine Fallunterscheidung wertet einen Auswahlausdruck aus, und dieser Wert bestimmt, welcher von mehreren möglichen Zweigen des Programmpfades durchlaufen werden soll.

1mm
\begin{picture}(100,40)
\thicklines\put(10,10){\framebox (80,28){}}
\put(10,25){...
...(62,15){\makebox(0,0){Pfad 4}}
\put(81,15){\makebox(0,0){default}}
\end{picture}

Dafür gibt es in Programmiersprachen unterschiedliche Umsetzungen, z.B. CASE-Konstruktionen oder geschachtelte Verzweigungen.


next up previous contents
Nächste Seite: Schleifen Aufwärts: Anweisungsentwurf mit Struktogrammen Vorherige Seite: Grundelemente   Inhalt
Lars Tornow 2003-04-02