\documentclass{schuleab}
\usepackage[utf8]{inputenc}
\usepackage{schulinf}
\usepackage[T1]{fontenc}
\newcommand{\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: ab_04_struktogramme_person.tex 639 2014-06-14 18:25:40Z humbert $}

\dokName{Buchkauf -- Struktogramme -- Methoden Klasse Person}
\jahrgang{EF}



\begin{document}

\section*{Buchkauf -- Struktogramme für Methoden der Klasse Person}


\begin{struktogramm}(150,46)[zeigeBuecher(buchliste: Liste von Buch-Objekten)]
  \ifthenelse{2}{10}{Ist Länge von buchliste $0$?}{Wahr}{Falsch}
      \assign[29]{return}
    \change
      \assign[6]{ausgeben (Thema des ersten Buches der Liste)}
      \ifthenelse[11]{4}{7}{erstes Buch gelesen?}{Wahr}{Falsch}
          \assign[6]{ausgeben(\diaquote{- gelesen})}
        \change
          \assign[6]{ausgeben(\diaquote{- neuwertig (ungelesen)})}          
      \ifend
   \assign[6]{zeigeBuecher(buchliste ab dem 2. Element)}
  \ifend
\end{struktogramm}

\dotfill

\begin{struktogramm}(150,30)[liesBuch\ (diesBuch:\ Buch)]
  \pLanguage{Python}
  \ifthenelse{4}{6}{Ist diesBuch in buecher?}{Wahr}{Falsch}
    \assign[11]{diesesBuch.setzeGelesen(Wahr)}
  \change
    \assign[11]{ausgeben(\diaquote{Was man nicht hat, kann man nicht lesen.})}
  \ifend
\end{struktogramm}

\dotfill

\begin{struktogramm}(150,46)[erwirbBuch(diesBuch:\ Buch)]
  \ifthenelse{7}{3}{Ist ort \diaquote{Buchhandlung}?}{Wahr}{Falsch}
    \ifthenelse[15]{5}{5}{Ist gibVertrauen() \diaquote{hohes Vertrauen}?}{Wahr}{Falsch}
      \assign[16]{diesBuch an buchliste anhängen}
    \change
      \assign[16]{ausgeben(\diaquote{Buch sollte nur bei Vertrauen erworben werden.})}
    \ifend
  \change
    \assign[31]{ausgeben(\diaquote{Ein Buch kann nur in der Buchhandlung erworben werden.})}
  \ifend
\end{struktogramm}

\dotfill

\begin{struktogramm}(150,31)[verkaufeBuch\ (dasBuch:\ Buch)]
  \pLanguage{Python}
  \ifthenelse{6}{6}{dasBuch\ in\ buecher?}{Wahr}{Falsch}
    \assign[16]{dasBuch aus buecher entfernen}
  \change
    \assign[16]{ausgeben(\diaquote{Was man nicht hat, kann man nicht verkaufen.})}
  \ifend
\end{struktogramm}

\dotfill

      
\end{document}
