Struktogramme mit LaTeX: Unterschied zwischen den Versionen
Henn (Diskussion | Beiträge) |
Henn (Diskussion | Beiträge) |
||
Zeile 45: | Zeile 45: | ||
=== Aussprung aus dem Programm === | === Aussprung aus dem Programm === | ||
\return{Inhalt} | \return{Inhalt} | ||
Hier ein Beispiel: | Hier ein Beispiel: | ||
\begin{struktogramm}(95,20) | |||
\sub{Liste sortieren} | |||
\begin{struktogramm}(95,20) | \return{Listenkopf zurückgeben} | ||
\end{struktogramm} | \end{struktogramm} | ||
[[Datei:SubandReturn.png|alternativtext=Sub und Return hintereinander, return hat innerhalb des Kastens links und rechts jeweils eine spitze Klammer|rahmenlos|475x475px]] | [[Datei:SubandReturn.png|alternativtext=Sub und Return hintereinander, return hat innerhalb des Kastens links und rechts jeweils eine spitze Klammer|rahmenlos|475x475px]] |
Version vom 15. Dezember 2022, 11:07 Uhr
Dieses Struktogramm sieht im Quelltext aus wie folgt:
\documentclass{article} \usepackage{struktex} \begin{struktogramm}(100,50) \while{for i := n down to 2} \while{for j := 2 up to i} \ifthenelse[15]{2}{2}{$(A[j-1] \geq A[j]$}{yes}{no} \assign{täusche \(A[j-1]\) mit \(A[j]\)} \change \ifend \assign{\mbox{}\hfil print (A)} \whileend \whileend \end{struktogramm}
Die Struktur ist recht einfach gehalten.
Umschlossen wird das Programm durch
\begin{struktogramm}(Breite(in mm),Höhe(in mm))[Überschrift]
und
\end{struktogramm}
Die Zahlenangaben in der runden Klammer gibt die Breite und die Höhe der Grafik in Millimetern an. Um sicher zu gehen, dass alles hineinpasst lässt sich hier auch immer mit großzügigen Angaben arbeiten, 150,150 ist für die meisten mehr als ausreichend. Die Überschrift ist optional und muss nicht angegeben werden.
Kasten für Operationsbeschreibungen
Ein einfacher Kasten wird erzeugt mit assign. Der Text wird standardmäßg linksbündig gesetzt, möchte man eine zentrierte Ausrichtung, so kann man mit der Ergänzung \mbox{}\hfil dies erreichen.
\assign{Inhalt}
Variablendeklarationen
Variablendeklinationen lassen sich mit in einen Kasten einfügen:
\assign{ \begin{declaration} \description{Variablenname}{Variablenbeschreibung} \description{Variablenname}{Variablenbeschreibung} \end{declaration} }
Es ist möglichnoch weiter zu spezifizieren (Parametern, lokalen Variablen und globalen Variablen), wer mehr dazu wissen möchte, kann dies in der Dokumentation Dokumentation des Paketes ab Seite 13 nachlesen.
Unterprogrammssprung
\sub{Inhalt}
Aussprung aus dem Programm
\return{Inhalt}
Hier ein Beispiel:
\begin{struktogramm}(95,20) \sub{Liste sortieren} \return{Listenkopf zurückgeben} \end{struktogramm}
Schleifen
\while
\whileend
\until
\untilend
\forallin
\forallinend
\forever
\foreverend
\exit{}