\begin{slide}{Richtlinien zur Algorithmenkonstruktion}

(vgl. Horn/Kerner/Forbrig S. 213 f.)

\begin{itemize}
\item Hierarchische Struktur:
  \begin{itemize}
  \item  Algorithmus ist ein Baum,
  \item  jeder Teilbaum löst ein Teilproblem,
  \item  in jedem inneren Knoten steht die Spezifikation,
  \item  seine Kinder sind die Teilschritte der Lösung.
  \item  Die Blätter sind elementare Operationen.
  \end{itemize}
\item Top-Down-Entwicklung, schrittweise Verfeinerung
\end{itemize}

\end{slide}

\begin{slide}{Richtlinien (II)}

\begin{itemize}
\item Blockstruktur:
  \begin{itemize}
  \item jeder Teilbereich hat genau einen Ein- und einen Ausgang
  \item und erfüllt einen Vertrag (wenn Vorbedingung zutrifft,
    dann ist nach Ausführung die Nachbedingung wahr)
  \end{itemize}
\item Lokalität der Daten:
  Programmbereiche, die bestimmte Daten benutzen,  sollten 
  \begin{itemize}
  \item wenig überlappen
  \item den Kontrollbereichen entsprechen
  \end{itemize}
\end{itemize}

\end{slide}


%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "~/edu/ws03/informatik/folien/informatik"
%%% End: 
