====== Vermischte Aufgaben Arrays I ====== [[https://codeberg.org/qg-info-unterricht/bluej-arrays-vermischt|Das BlueJ-Projekt für Aufgabe 1 und 2 findest du hier.]] {{:aufgabe.png?nolink |}} === (A1) === Es soll ein Sparbuch modelliert werden, das eine Abfolge von Kontoständen speichern kann. Dazu wird ein Array ''kontostand'' verwendet. * Das Array enthält die folgenden Werte: ''998.12'', ''1122.54'', ''786.67'', ''1329.97''. * Wie viele Elemente enthält das Array? * Welchen Index hat das erste Element? * Welchen Index hat das letzte Element? * Deklariere und initialisiere ein Array ''kontostand'' der Länge 4 in der Klasse Konto, das die angegebenen Werte enthält: * Mit ''new ...'' + Initialisierung im Konstruktor * Durch direkte Initialisierung mit Hilfe von ''{...}'' bei der Deklarierung. ---- {{:aufgabe.png?nolink |}} === (A2) === Verwende die Klasse ''Lotto'' um ein einfaches Lottospiel zu implementieren. * Lege ein Attribut ''gewinnzahlen'' an und initialisiere das Attribut im Konstruktor mit zufälligen Zahlen zwischen 1 und 49. Jede Zahl darf dabei nur einmal vorkommen. Du kannst in den Gewichtsbeispielen aus den vorigen Aufgaben nachschauen, wie man Zufallszahlen erzeugen kann. * Implementiere eine Methode ''spielen'', die vom Spieler 6 Zahlen erfragt und diese im Attribut ''getippt'' der Klasse speichert. Die Methode ''auswerten'' soll anschließend zurückgeben, wieviele korrekte Zahlen getippt wurden. Die Ausgabe sollte z.B. so aussehen. "Sie haben 4 Richtige Zahlen getippt: 7, 12, 32 und 44". ---- {{:aufgabe.png?nolink |}} === (A3) === ((Die Aufgaben in A3 sind CC-BY-SA Heußer/Zechnall)) Löse die folgenden Aufgaben mit Stift und Papier. {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:uebungen_arrays.pdf |Hier gibt es eine PDF-Version}}. Gegeben ist eine Klasse ''DenkArray'', die die folgenden Attribute ''a'' und ''grenze'' besitzt: {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:da01.png |}} ---- **(I)** Notiere im Schema unten, wie das Array ''a'' nach Ausführen von ''wasMacheIch()'' aussieht: {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:da02.png |}} {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:array_a.png |}} ---- **(II)** Notiere im Schema, wie das Array ''a'' nach Ausführen von ''wasMacheIch2()'' aussieht: {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:da03.png |}} {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:array_a.png |}} ---- **(III)** Notiere im Schema, wie das Array ''a'' nach Ausführen von ''wasMacheIch3()'' aussieht: {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:da04.png |}} {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:array_a.png |}} ---- **(IV)** Ergänze die entstehende Reihe sinnvoll. Implementiere dann handschriftlich die begonnene Methode ''wasMacheIch()'', die die Reihe ''a'' mit untenstehenden Werten belegt. Gehe dabei sparsam mit Quelltextzeilen um. {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:fib.png |}} {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:mache4.png?800 |}} ---- **(V)** Ergänze die entstehende Reihe sinnvoll. Implementiere dann handschriftlich die begonnene Methode ''wasMacheIch()'', die die Reihe ''a'' mit untenstehenden Werten belegt. Gehe dabei sparsam mit Quelltextzeilen um. {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:plusvier.png |}} {{ :faecher:informatik:oberstufe:java:algorithmen:arrays:vermischte_aufgaben:mache5.png?800 |}}