\documentclass{bschlangaul-aufgabe}
\bLadePakete{java,spalten,struktogramm}

\begin{document}
\bAufgabenMetadaten{
  Titel = {Abitur 2013 IV},
  Thematik = {Pulverdosen},
  Referenz = TECH.Ein-Adress.03-Abitur-2013-IV-Pulverdosen,
  RelativerPfad = Module/50_TECH/10_Ein-Adress/Aufgabe_03-Abitur-2013-IV-Pulverdosen.tex,
  BearbeitungsStand = mit Lösung,
  Korrektheit = unbekannt,
  Ueberprueft = {unbekannt},
  Stichwoerter = {Ein-Adress-Befehl-Assembler},
}

In einer Apotheke werden Aminosäureprodukte in Pulverform verkauft, die
in vollständig gefüllten zylinderförmigen Dosen abgepackt sind. Aufgrund
der Regalhöhe haben alle ausgestellten Dosen eine Höhe von $12cm$. Der
Radius der Dosengrundfläche richtet sich nach der jeweiligen
Verkaufsmenge des Pulvers und wird druch folgenden Algorithmus
näherungsweise berechnet:
\index{Ein-Adress-Befehl-Assembler}

\begin{center}
\begin{struktogramm}(50,40)
\assign{$y = V$}
\assign{$z = 1$}
  \while{wiederholge solange $y > z$}
    \assign{$y = (y + z) / 2$}
    \assign{$z = V / y$}
  \whileend
\assign{Rückgabe $y / 19$}
\end{struktogramm}
\end{center}

\noindent
Der dabei verwendete Wert von $19$ für den Divisor ergibt sich aus der
vorgegebenen Dosenhöhe in $mm$ und der Kreiszahl $\pi$.

Schreiben Sie ein Assemblerprogramm zur Berechnung des Dosenradius (in
$mm$) gemäß dem angegebenen Algorithmus, wobei das Volumen $V$ in $mm^3$
eingegeben wird.

Ergänzen Sie dabei die begonnen Implementierung. Das Ergebnis soll am
Ende in Zelle $106$ stehen.

\begin{minted}{asm}
LOADI 400000 # Beispielwert für V
STORE 101 # V in Zelle 101
LOADI 2
STORE 104 # Konstante 2 in Zelle 104
LOADI 19
STORE 105 # Konstante 19 in Zelle 105
\end{minted}

\begin{bAntwort}

%%
%
%%

\bPseudoUeberschrift{Assembler}

\bAssemblerDatei{Aufgabe_03-Abitur-2013-IV-Pulverdosen.mia}

%%
%
%%

\bPseudoUeberschrift{Minisprache}

\bMinispracheDatei{Aufgabe_03-Abitur-2013-IV-Pulverdosen.mis}

%%
%
%%

\bPseudoUeberschrift{Java}

\bJavaDatei[firstline=5,lastline=17]{aufgaben/tech_info/assembler/ein_adress/Pulverdose}
\end{bAntwort}

\end{document}
