\documentclass{bschlangaul-aufgabe}
\bLadePakete{java}
\begin{document}
\bAufgabenMetadaten{
  Titel = {Aufgabe 5},
  Thematik = {Regal mit DVDs, CDs und BDs},
  Referenz = 66116-2014-H.T2-TA2-A5,
  RelativerPfad = Examen/66116/2014/09/Thema-2/Teilaufgabe-2/Aufgabe-5.tex,
  ZitatSchluessel = examen:66116:2014:09,
  BearbeitungsStand = unbekannt,
  Korrektheit = unbekannt,
  Ueberprueft = {unbekannt},
  Stichwoerter = {Implementierung in Java, Feld (Array), Rekursion},
  EinzelpruefungsNr = 66116,
  Jahr = 2014,
  Monat = 09,
  ThemaNr = 2,
  TeilaufgabeNr = 2,
  AufgabeNr = 5,
}

Lösen Sie folgende Aufgabe in einer objektorientierten
Programmiersprache Ihrer Wahl. Ein Regal habe 5 Fächer, in die je 30
Disks passen. Das Regal beinhaltet DVDs, CDs und BDs der Genres
\emph{Musik}, \emph{Action}, \emph{Komödie}, \emph{Thriller} und
\emph{Fantasy}. Jede Disk ist mit 1 bis 10 bewertet, wobei 10 für sehr
gut steht.
\index{Implementierung in Java}
\footcite{examen:66116:2014:09}

\begin{itemize}

%%
%
%%

\item Deklarieren Sie einen Aufzählungsdatentyp für den \bJavaCode{Typ}
der Disk. Deklarieren Sie einen weiteren Aufzählungsdatentyp für das
\bJavaCode{Genre} der Disk.

\begin{bAntwort}
\bJavaExamen{66116}{2014}{09}{regal/Typ}
\bJavaExamen{66116}{2014}{09}{regal/Genre}
\end{bAntwort}

%%
%
%%

\item Deklarieren Sie eine Klasse \bJavaCode{Disk}, die den Typ, das
Genre, die Bewertung, sowie den Titel der Disk speichert.

\begin{bAntwort}
\bJavaExamen[firstline=4,lastline=23]{66116}{2014}{09}{regal/Disk}
\end{bAntwort}

%%
%
%%

\item Deklarieren Sie ein Array \bJavaCode{Regal}, mit den Abmessungen
des oben genannten Regals, das Disks enthält. Initialisieren Sie das
Array als leeres Regal.\index{Feld (Array)}

\begin{bAntwort}
\bJavaExamen[firstline=3,lastline=15]{66116}{2014}{09}{regal/Regal}
\end{bAntwort}

%%
%
%%

\item Initialisieren Sie die Bewertung einer Disk. Schreiben sie dazu
eine rekursive Methode \bJavaCode{erstelleStdBewertung}, der ein Genre
einer Disk übergeben wird und die die Bewertungen für alle Disks nach
folgenden Regeln bezüglich des Genres vergibt:
\index{Rekursion}

\begin{itemize}
\item Eine Disk mit Genre Musik wird mit einer 3 bewertet.

\item Komödien werden mit 2 bewertet.

\item Thriller werden mit dem zweifachen einer Komödie bewertet

\item Ein Fantasy-Film wird mit dem 1,5 fachen eines Thrillers bewertet.

\item Ein Actionfilm wird wie ein Thriller bewertet.
\end{itemize}

\begin{bAntwort}
\bJavaExamen[firstline=41,lastline=55]{66116}{2014}{09}{regal/Disk}
\end{bAntwort}

%%
%
%%

\item Schreiben Sie eine Methode \bJavaCode{mittlereBewertung}, die die
mittlere Bewertung der Disks im Regal berechnet.

\begin{bAntwort}
\bJavaExamen[firstline=22,lastline=39]{66116}{2014}{09}{regal/Regal}
\end{bAntwort}

\end{itemize}

\begin{bAdditum}
\bPseudoUeberschrift{Der komplette Code}

\bJavaExamen{66116}{2014}{09}{regal/Typ}
\bJavaExamen{66116}{2014}{09}{regal/Genre}
\bJavaExamen{66116}{2014}{09}{regal/Disk}
\bJavaExamen{66116}{2014}{09}{regal/Regal}
\end{bAdditum}
\end{document}
