Struktogramme mit LaTeX: Unterschied zwischen den Versionen

Aus Augenbit
Zur Navigation springenZur Suche springen
Henn (Diskussion | Beiträge)
Henn (Diskussion | Beiträge)
Zeile 25: Zeile 25:
und  
und  
  \end{struktogramm}
  \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.
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 in eckigen Klammern ist optional und muss nicht angegeben werden.


=== Kasten für Operationsbeschreibungen ===
=== Kasten für Operationsbeschreibungen ===
Mit assign wird ein einfacher Kasten erzeugt. 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.
Mit assign wird ein einfacher Kasten erzeugt. Der Text darin wird linksbündig gesetzt. Möchte man eine zentrierte Ausrichtung, so kann man dies mit der Ergänzung \mbox{}\hfil erreichen.
   \assign{Inhalt}
   \assign{Inhalt}
==== Variablendeklarationen ====
==== Variablendeklarationen ====
Zeile 83: Zeile 83:
   \ifend
   \ifend
[[Datei:If Strukto.png|alternativtext=If-Schleife Struktogramm|rahmenlos|600x600px]]
[[Datei:If Strukto.png|alternativtext=If-Schleife Struktogramm|rahmenlos|600x600px]]
Bei If-Schleifen ist der Wert in den eckigen Klammern hinter \ifthenelse etwas davon abhängig, wie viel Text in der Bedingung steckt. Hier wird ggf. visuelle Kontrolle benötigt. Die Angaben in den geschweiften Klammern bezeichnen das Verhältnis des Wahr und Falsch Dreiecks - hier wurde ein 1:1-Verhältnis gewählt, möchte man in einem der Bereiche noch weitere Subs oder ähnliches einfügen, kann eine Anpassung sinnvoll sein.

Version vom 21. Dezember 2022, 18:42 Uhr

Dieses Struktogramm

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

sieht im Quelltext aus wie folgt:

\documentclass{article}
\usepackage{struktex}
\begin{struktogramm}(100,50)
 \while{for ir:= n down to 2}
	\while{for jo:= 2 up to i}
		\ifthenelse[15]{2}{2}{$(A[j-1] \geq A[j]$}{yes}{no}
			\assign{tausche \(A[j-1]\) mit \(A[j]\)}
			\change
		\ifend
	\assign{\mbox{}\hfil print (A)}
	\whileend
 \whileend
\end{struktogramm}

Aufbau

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 in eckigen Klammern ist optional und muss nicht angegeben werden.

Kasten für Operationsbeschreibungen

Mit assign wird ein einfacher Kasten erzeugt. Der Text darin wird linksbündig gesetzt. Möchte man eine zentrierte Ausrichtung, so kann man dies mit der Ergänzung \mbox{}\hfil erreichen.

 \assign{Inhalt}

Variablendeklarationen

Variablendeklinationen lassen sich mit in einen Kasten einfügen:

 \assign{ 
   \begin{declaration}
     \description{Variablenname}{Variablenbeschreibung}
     \description{Variablenname}{Variablenbeschreibung}
   \end{declaration}
 }

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

Eine weitere Spezifiziertung ist möglich (Parameter, lokale Variablen und globale Variablen), wer mehr dazu wissen möchte, kann dies in der Dokumentation Dokumentation des Paketes ab Seite 13 nachlesen.

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

Unterprogrammsprung

 \sub{Inhalt}

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

Aussprung aus dem Programm

 \return{Inhalt}

Hier ein Beispiel:

\begin{struktogramm}(95,20)
  \sub{Liste sortieren}
  \return{Listenkopf zurückgeben}
\end{struktogramm}

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

While, Until und Forever - Schleifen

\while{Bedingung}
  \assign{Schleifeninhalt}
\whileend

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

\until{Bedingung}
  \assign{Schleifeninhalt}
\untilend

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

\forever
  \assign{Schleifeninhalt}
  \exit{Exit}
\foreverend

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

\forallin{$\forall l \in L$}
  \assign{gib l) aus}
\forallinend

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

If-Schleifen

 \ifthenelse[30]{1}{1}{Wahrheitsprüfung}{\sTrue}{\sFalse}
   \assign{Wenn ja...}
   \change
   \assign{Wenn falsch, dann...}
 \ifend

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

Bei If-Schleifen ist der Wert in den eckigen Klammern hinter \ifthenelse etwas davon abhängig, wie viel Text in der Bedingung steckt. Hier wird ggf. visuelle Kontrolle benötigt. Die Angaben in den geschweiften Klammern bezeichnen das Verhältnis des Wahr und Falsch Dreiecks - hier wurde ein 1:1-Verhältnis gewählt, möchte man in einem der Bereiche noch weitere Subs oder ähnliches einfügen, kann eine Anpassung sinnvoll sein.