If Fase Logo

mit Google im Archiv der If Fase

Ausgabe 3 vom 1. September 2005 (als PDF):

22. August 2005 – Dr. Ludger Humbert

LaTeX – Teil 3: Struktogramme

Struktogramme 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.

Unterrichtliches Umfeld

Ob objektorientiert oder imperativ: der Darstellung von Abläufen auf der „niederen“ Ebene (innerhalb von Methoden oder Prozeduren) kommt eine große Bedeutung zu. Jeder der folgenden Schritte trägt zur Lösung des Problems bei und ist zu bearbeiten:
  1. Formulierung einer verbalen Lösung
  2. Verfeinerung der verbalen Lösung
  3. Formalisierung der entwickelten verbalen Lösung
  4. Darstellung in programmiersprachenunabhängiger Form
  5. Umsetzung in eine Zielsprache
So ist die Benutzung programmiersprachlicher Elemente gerade in den ersten vier Schritten nicht zielführend. Viele der Fehlvorstellungen, die von Schülerinnen erworben werden, entstehen gerade bei diese Schritten.

LaTeX – Struktogramme einfach und schnell

Die Arbeit, typografisch hervorragende Dokumente zu erstellen, wird von LaTeX bestens bewältigt. Dies ist unstrittig und kann u.a. mit Hilfe der bisher in dieser Serie vorgestellten Elemente leicht belegt werden. Wie sieht es jedoch mit speziellen Anforderungen aus, die das Leben einer Informatiklehrerin gerade im Detail schwer machen? Darauf kann keine allgemein gültige Antwort gegeben werden, daher werden in dieser und den folgenden Ausgaben Elemente vorstellen, die erfolgreich eingesetzt werden. Dazu gehört u.a.  die Erstellung von Struktogrammen. Weitere Elemente sind häufig benutzte grafischen Beschreibungssprachen, wie CRC-Karten, UML (Anwendungsfälle, Klassendiagramme, Sequenzdiagramme), ER-Diagramme, Projektpläne, …

Aufbau eines LaTeX-Dokuments mit StrukTeX

Die aktuelle Version 8.0f des Pakets StrukTeX wurde am 15. Juni 2005 vom Autor Jobst Hoffmann angekündigt und steht über ftp://ftp.dante.de/tex-archive/macros/latex/contrib/struktex.zip öffentlich zur Verfügung. In der beigefügten Dokumentation wird der Einsatz des Paketes sehr detailliert (auch auf Deutsch) mit vielen Beispielen dargestellt. Das Paket umfasst viele Möglichkeiten, die hier nicht im Einzelnen dargestellt werden können. Zum grundlegenden Einsatz sind nur wenige Elemente nötig. Die Präambel des LaTeX-Dokuments wird um \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.  
\begin{struktogramm}(Breite,Hoehe)[Überschrift]

\end{struktogramm}
Angaben für 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.

Kontrollstrukturen

Im Folgenden werden ausgwählte Kontrollstrukturen und ihre Umsetzung mit Hilfe von StrukTeX dokumentiert.

Verzweigung[en]

Um die Möglichkeiten der Verzweigung darzustellen, wird ein einfaches Beispiel dokumentiert:
%
%

\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}

Struktogrammbeispiel Verzweigung

Struktogrammbeispiel Verzweigung

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

Zyklus – Wiederholung

Die Gestaltung von Zyklen gestaltet sich recht übersichtlich. Hier wird exemplarisch die Solange-Schleife und ihre Umsetzung vorgestellt.
Syntax:
%
%

\while[Breite]{Text}Unterstruktogramm\whileend

Beispiel:
%
%

\begin{struktogramm}(50,10)

 \while{Datei nicht zu Ende?}
 
    \assign{Zeile aus Datei lesen}
    
 \whileend
 
\end{struktogramm}

Struktogrammbeispiel Verzweigung

Struktogrammbeispiel Wiederholung

Die hier veröffentlichten Inhalte stellen keine Meinungsäußerungen der Studienseminare Hamm Arnsberg dar.
© Redaktion If Fase