StruktogrammeStruktogramme erstellen – eine einfache Übung,
wenn wir wissen, wie es geht …In einer Serie von Artikeln in der If Fase wird der Versuch unternommen, nützliche Elemente von LaTeX vorzustellen, die erprobt sind und bei der täglichen Arbeit der Informatiklehrerin eingesetzt werden.
In den bisherigen Teilen der Artikelserie – Ausgaben 0, 1
und 2: rhinodidactics.de/Archiv – wurden
Hinweise zur Installation, grundlegenden Arbeitsweisen, Quellen zu
Dokumentationen, die Arbeit mit KOMAscript, Hinweise auf PSTricks und als
stärker inhaltsbezogene Dimension die Erstellung von Arbeitsblättern
thematisiert. In dieser Folge wird auf ein Element abgehoben, mit dem
eine Informatiklehrerin häufig arbeitet: die Erstellung von
Struktogrammen.
Struktogramme einfach und schnellStruktogrammen. Weitere Elemente sind häufig benutzte
grafischen Beschreibungssprachen, wie CRC-Karten, UML (Anwendungsfälle,
Klassendiagramme, Sequenzdiagramme), ER-Diagramme, Projektpläne, …
\usepackage[curves]{struktex} erweitert. Damit verschiedene
Steigungen der schrägen Linie im Zusammenhang mit Verzweigungen
ansehnlich gesetzt werden, wird in dem hier dokumentierten Beispiel das
Pakekt curves als Parameter angegeben. In das Dokument wird
mit der folgenden Konstruktion ein Struktogramm eingefügt. Hoehe und Breite werden als
Millimeterwerte interpretiert. Dabei wird die Höhe ggf. angepasst.
Damit bzgl. Hoehe eine visuelle Kontrollmöglichkeit besteht,
kann mit \sProofOn und \sProofOff die Ausgabe
der vier Eckpunkte erreicht werden, die das Ausmaß des Rechtecks
verdeutlichen, das durch die angegebene Breite und Höhe eingenommen wird.
Im Unterschied zur Norm (DIN 66261) erlaubt das Paket auch die
Angabe von Deklarationen. Diese Möglichkeit wird hier nicht vertieft. Für
die [mögliche] Nutzung sei auf die differenzierte Darstellung im
Handbuch, das dem Paket beiliegt, verwiesen.
%
%
\begin{document}
\begin{struktogramm}(95,30)
\ifthenelse{5}{3}
{Druckerausgabe?}{Ja}{Nein}
\assign{Ausgabe auf Drucker umleiten}
\change
\assign{Ausgabe auf den Bildschirm}
\ifend
\end{struktogramm}
\end{document}
Syntax:
%
%
\ifthenelse[Hoehe]{Links}{Rechts}
{Bedingung}{Text links}{Text rechts}
Unterstruktogramm links
\change
Unterstruktogramm rechts
\ifend
Für die Werte von Links, Rechts gilt:
großer Wert entspricht kleiner Steigung. Die Werte sind
zwischen 1 und 6 zu wählen. Für die Mehrfachverzweigung existiert ebenfalls
ein Struktogrammelement, das nach der folgenden Syntax zu gestalten ist. Ein
Wert für Winkel ist wie im Fall der Verzweigung anzugeben oder
wegzulassen:
%
%
\case[Hoehe]{Winkel}{Fallzahl}{Bedingung}
{Text erster Fall}
Unterstruktogramm Fall 1
\switch[Position]{Text 2. Fall}
Unterstruktogramm Fall 2
…
\switch[Position]{Text n. Fall}
Unterstruktogramm Fall n
\caseend
%
%
\while[Breite]{Text}Unterstruktogramm\whileend
Beispiel:
%
%
\begin{struktogramm}(50,10)
\while{Datei nicht zu Ende?}
\assign{Zeile aus Datei lesen}
\whileend
\end{struktogramm}