\documentclass{schulein}
\usepackage[utf8]{inputenc}
\usepackage{schulinf}

\usepackage[T1]{fontenc}
\providecommand{\diaquote}[1]{\textquotedbl#1\textquotedbl}


% Dieses Dokument ist in der Zusammenarbeit von Informatikreferendaren und
% ehemaligen Informatikreferendaren der Studienseminare (heute ZfsL) Arnsberg,
% Hamm und Solingen entstanden.
%
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de
%
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden,
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben
% und auf die ursprünglichen Urheber verwiesen wird.
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen.
%
% Die Namensnennung durch einen Verweis und die Lizenzangabe der ursprünglichen
% Urheber auf den Materialien für Schülerinnen und Schüler ist erforderlich.
%
% Die Sammlung der Dokumente steht unter
% http://ddi.uni-wuppertal.de/material/materialsammlung/
% zur Verfügung.
%
% Das LaTeX-Paket zum Setzen der Dokumente der Sammlung steht
% unter  http://www.ctan.org/pkg/schule
% zur Verfügung.

\usepackage[pdfauthor={Referendare der Informatikfachseminare Arnsberg, Hamm und Solingen}]{hyperref}
\includexmp{lizenz}
\cclizenz{byncsaeu}
\footerQRLink{materialsammlung_qr_url.pdf}

\svnid{$Id: info_01_buchkauf_struktogramm.tex 680 2014-06-25 21:11:27Z pieper $}

\dokName{Buchkauf}
\jahrgang{EF}

\begin{document}

\section*{Buchkauf -- Sequenz in Form eines Struktogramms}


Abläufe werden in der Informatik häufig mit Struktogrammen dargestellt.
Ein Struktogramm besteht aus einem Block (Rechteck), der von oben nach unten
abgearbeitet wird. 
Innerhalb des Struktogramms finden sich die sogenannten Anweisungen.
Wird der Inhalt des Sequenzdiagramms zum Buchkauf in die Punktnotation 
überführt, erhalten wir Quellcodezeilen, die sich auch als Struktogramm 
darstellen lassen, wie in der folgenden Darstellung deutlich wird.

\begin{center}

\begin{struktogramm}(113,164)

\pLanguage{Python}
\assign{buchhaendlerin= Person(\diaquote{Buchhandlung})}
\assign{informatikBuch= Buch(\diaquote{Informatik})}
\assign{entspannungsBuch= Buch(\diaquote{Entspannung})}
\assign{buchhaendlerin.erwirbBuch(informatikBuch)}
\assign{buchhaendlerin.erwirbBuch(entspannungsBuch)}
\assign{ausgeben(\diaquote{buchhaendlerin -- Bücher:})}
\assign{buchhaendlerin.zeigeBuecher(buchhaendlerin.gibBuecher())}
\assign{kunde= Person (\diaquote{in der Schule})}
\assign{kunde.setzeOrt(\diaquote{Buchhandlung})}
\assign{ausgeben(\diaquote{kunde - Bücher:})}
\assign{kunde.zeigeBuecher(kunde.gibBuecher())}
\assign{kunde.erwirbBuch(entspannungsBuch)}
\assign{buchhaendlerin.verkaufeBuch(entspannungsBuch)}
\assign{ausgeben(\diaquote{kunde - Bücher:})}
\assign{kunde.zeigeBuecher(kunde.gibBuecher())}
\assign{kunde.liesBuch(informatikBuch)}
\assign{ausgeben(\diaquote{kunde: erwirbt Informatikbuch})}
\assign{kunde.erwirbBuch(informatikBuch)}
\assign{buchhaendlerin.verkaufeBuch(informatikBuch)}
\assign{ausgeben(\diaquote{kunde - Bücher:})}
\assign{kunde.zeigeBuecher(kunde.gibBuecher())}
\assign{ausgeben(\diaquote{kunde: liest Informatikbuch})}
\assign{kunde.liesBuch(informatikBuch)}
\assign{kunde.zeigeBuecher(kunde.gibBuecher())}
\assign{ausgeben(\diaquote{buchhaendlerin - Bücher:})}
\assign{buchhaendlerin.zeigeBuecher(buchhaendlerin.gibBuecher())}
\end{struktogramm}
\end{center}


Für einzelne Methoden werden Struktogramme zur 
Darstellung verwendet -- sie stellen eine Möglichkeit dar, um einen
Ablauf programmiersprachenunabhängig zu dokumentieren.


      
\end{document}
