\documentclass[12pt, a4paper]{article}
\usepackage[curves]{struktex}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
%\usepackage{graphics}
\usepackage{exscale}
\begin{document}

An example for the use of struktex.sty.
\begin{figure}
\center
\sProofOn
\begin{struktogramm}(120,50)[Deterministic Iterative Improvement]
\assign{
\begin{declaration}[Variablendeklaration:]
    \description{\pVar{i}}{konkrete Ausprägung einer Lösung; Variable
vom \pKey{integer}-Typ; $\in \mathbb{Z}$}
    \description{\pVar{C(i)}}{erreichter Zielfunktionswert der Lösung
\pVar{i}}
    \description{$N(i)$}{Menge aller Nachbarn einer Lösung \pVar{i}}
\end{declaration}
}
\assign{Definiere eine Nachbarschaft für das gegebene Problem.}
  \ifthenelse[12]{2}{4}{$\pVar{C(i)} > \pVar {N(i)}$?}{\sTrue}{falsch}
    \assign{Text1}
  \change
    \assign{Text1}
  \ifend
\end{struktogramm}
\sProofOff
\caption{Dies ist ein neues Struktogramm.}
\end{figure}


\begin{center}
\sProofOn
\begin{struktogramm}(120,50)[Optimiertes Bubble Sort]
\assign{
	\begin{declaration}[Variablendeklaration:]
    	\description{\pVar{feld}}{Liste der Zahlen}
		\description{\pVar{n}}{Anzahl der zu sortierenden Zahlen}
		\description{\pVar{ende=n-2}}{vorletztes Element}
		\description{\pVar{sortiert=false}}{Kontrollvariable}
	\end{declaration}
}
\while{Solange wie \pVar{nicht sortiert}}
	\assign{\pVar{sortiert=false} (Annahme, um in die Schleife zu kommen}
	\while{Für \pVar{i=0} bis \pVar{ende}}
		\assign{\pVar{sortiert=true}}
		\ifthenelse[12]{4}{1}{\pVar{feld[i]} > \pVar{feld[i+1]}?}{J}{N}
		\assign{%
			\pVar{feld = tausche(feld,i,i+1)}\\
			\pVar{sortiert=false}
		}
		\change
		\ifend
	\whileend
	\assign{\pVar{ende = ende-1}}
\whileend
\end{struktogramm}
\sProofOff
\end{center}

\end{document}
