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

% 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_01_einstieg_buecherstapel.tex 1377 2015-12-17 08:26:40Z humbert $}

\dokName{Stapel oder Stack}
\jahrgang{Q1}

\def\bodydir{.}

\begin{document}
\section*{Schulbuchrückgabe}
Immer zum Schuljahresende erfolgt die Rückgabe der ausgeliehenen Schulbücher. Große Stapel von Büchern liefern die einzelnen Klassen in der Rückgabestelle der Schule ab. Zum Leidwesen der dafür zuständigen Personen, sind diese Stapel nicht sortiert, sondern vollkommen durcheinander. Für die Kontrolle und Ausgabe im nächsten Schuljahr müssen aber aus dem großen Bücherstapel mehrere kleine werden, die immer nur eine Buchsorte enthalten. Bei dieser \enquote{Umbauaktion} wird jedes Buch für das Informatiksystem eingescannt. So kann man erfassen, welche Schüler ihre Bücher auch zurückgegeben haben.

Aus diesen Gründen werden die Bücher immer einzeln vom großen Stapel herunter genommen. Sie werden dann eingescannt und anschließend auf den passenden Stapel gelegt, auf dem immer nur die gleichen Bücher liegen. Im Englischen wird der Begriff \textbf{Stack} als Übersetzung für Stapel benutzt. Die Bezeichnung Stack wird in den Vorgaben für diese Klasse für das Zentralabitur verwendet.

\subsubsection*{Aufgabe:}

\begin{minipage}{0.75\textwidth}
	\begin{enumerate}
		\item Erläutern Sie schriftlich, warum es sinnvoll ist, immer nur das oberste Buch des großen Stapels zu nehmen und nicht eines aus der Mitte. Orientieren Sie sich bei Ihrer Argumentation nicht nur an einer Umsetzung mit einem Informatiksystem, sondern auch an einem realen Bücherstapel.

		\item Schreiben Sie in einer Klassenkarte auf, welche Methoden benötigt werden, um die nötigen Funktionen eines Stapels durch eine Klasse nachzubilden. Geben sie zu jeder Methode zusätzlich eine kurze Beschreibung ihrer Aufgabe an.

		\item Der unsortierte Bücherstapel, dessen Reihenfolge rechts abgebildet ist, soll auf drei einzelne Stapel umgebaut werden. Erstellen Sie ein Sequenzdiagramm mit den vier beteiligten Stapelobjekten, das diesen Vorgang wiedergibt. Bei Bedarf können Sie weitere Elemente hinzu nehmen.

		\item Vergleichen Sie ihre eigene Klassenbeschreibung der Klasse Stack mit der aus den Vorgaben für das Zentralabitur.

		\item Implementieren Sie ein Programm, mit dem man einen zufällig erzeugten Bücherstapel auf einzelne Stapel sortieren kann. Setzen Sie dabei die Klassen aus den Vorgaben für das Zentralabitur ein.
	\end{enumerate}
\end{minipage}\hfill%
\begin{minipage}{0.2\textwidth}
 \begin{center}
		\input{\bodydir/buecher.cir}
	\end{center}
\end{minipage}

\subsubsection*{Geschichtlicher Hinweis}
Der Stack als Element in der Informatik wurde 30. März 1957 von den beiden Deutschen Friedrich Ludwig Bauer und Klaus Samelson unter dem Namen \enquote{Kellerprinzip} als Patentantrag eingereicht. Der von ihnen gewählte Begriff \enquote{Keller} bzw. \enquote{cellar} wurde nicht durchgesetzt. 
% vgl. S. 238 Bauer2004 in Hellige2004
\end{document}
