Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:modellierung:2018a:start [16.12.2021 06:57] – sbel | faecher:informatik:oberstufe:modellierung:2018a:start [16.12.2021 07:31] (aktuell) – [Teil 3] sbel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Schatzssuche ====== | ====== Schatzssuche ====== | ||
+ | ((Abituraufgabe 2018 in BW, Teil A)) | ||
Im Folgenden sollen Teile eines Spiels implementiert werden, in dem zwei Schatzsucher auf | Im Folgenden sollen Teile eines Spiels implementiert werden, in dem zwei Schatzsucher auf | ||
Zeile 14: | Zeile 14: | ||
leeres Feld, andernfalls kann mit '' | leeres Feld, andernfalls kann mit '' | ||
+ | ===== Teil 1 ===== | ||
- | ---- | ||
{{: | {{: | ||
- | === (A1) === | + | === (T1A1) === |
- | Übertrage die UML-Klassendiagramme | + | Übertrage die UML-Klassendiagramme |
{{ : | {{ : | ||
+ | |||
+ | **Anmerkung: | ||
+ | ---- | ||
+ | {{: | ||
+ | === (T1A2) === | ||
+ | Implementiere die Klasse '' | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (T1A3) === | ||
+ | |||
+ | Implementieren Sie einen Konstruktor '' | ||
+ | Welt der Größe '' | ||
+ | und einem Schatz im Wert von 50EUR erzeugt wird. Die Schatzsucher und der Schatz | ||
+ | sollen unter Verwendung der Methode '' | ||
+ | aus der Klasse Welt eine zufällige Startposition erhalten. | ||
+ | |||
+ | // | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (T1A4) === | ||
+ | |||
+ | |||
+ | Implementiere Methode '' | ||
+ | der Klasse Welt so, dass ein Akteur in der Welt um ein Feld nach links verschoben | ||
+ | wird, falls das entsprechend der Grenzen der Welt möglich ist und das Zielfeld nicht | ||
+ | bereits von einer anderen Figur besetzt ist. | ||
+ | |||
+ | Die Methode soll '' | ||
+ | |||
+ | Die Information, | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (T1A5) === | ||
+ | |||
+ | Beschreibe wie die Methode '' | ||
+ | |||
+ | ===== Teil 2 ===== | ||
+ | |||
+ | |||
+ | {{: | ||
+ | === (T2A1) === | ||
+ | |||
+ | |||
+ | Die Methode '' | ||
+ | in der Klasse Welt gibt das Ergebnis von '' | ||
+ | + abs(p1.getSpalte()-p2.getSpalte())'' | ||
+ | |||
+ | Dabei berechnet die Methode '' | ||
+ | |||
+ | * Begründe, dass die Methode '' | ||
+ | * Implementiere die Methode '' | ||
+ | die die Anzahl der Felder zurückgibt, | ||
+ | |||
+ | ===== Teil 3 ===== | ||
+ | |||
+ | |||
+ | |||
+ | {{ : | ||
+ | Das Schatzsuchespiel soll um eine Highscore-Liste erweitert werden. Dazu wird eine Klasse '' | ||
+ | eingeführt mit den Attributen '' | ||
+ | '' | ||
+ | |||
+ | Nach dem Abschluss eines Spiels wird der neue Spieler an das Ende der bereits absteigend sortierten Highscore-Liste angehängt. Dann wird die Liste neu sortiert. | ||
+ | |||
+ | Bei Punktegleichstand soll derjenige Spieler weiter vorne in der Liste stehen, der diesen Punktstand zuerst erreicht hat. Sortierverfahren, | ||
+ | |||
+ | {{ : | ||
+ | ---- | ||
+ | {{: | ||
+ | === (T3A1) === | ||
+ | Für das Sortieren werden zwei Algorithmen vorgeschlagen | ||
+ | |||
+ | **Algorithmus I** | ||
+ | < | ||
+ | for i = 0 ... spielerAnzahl-1 | ||
+ | for j = 1 ... spielerAnzahl-1 | ||
+ | if (spielerListe[j-1].getPunkte() < spielerListe[j].getPunkte()) then | ||
+ | tausche Spieler j mit Spieler (j-1) in spielerListe | ||
+ | endif | ||
+ | endfor | ||
+ | endfor | ||
+ | </ | ||
+ | |||
+ | **Algorithmus II** | ||
+ | |||
+ | <code pseudocode> | ||
+ | for i = 0 ... spielerAnzahl-1 | ||
+ | bester = i | ||
+ | for j = i+1 ... spielerAnzahl-1 | ||
+ | if (spielerListe[bester].getPunkte() < spielerListe[j].getPunkte()) then | ||
+ | bester = j | ||
+ | endif | ||
+ | endfor | ||
+ | tausche Spieler i mit Spieler bester in spielerListe | ||
+ | endfor | ||
+ | </ | ||
+ | |||
+ | |||
+ | * Gib jeweils an, welches Sortierergebnis nach der Ausführung der Algorithmen I und II bei der Anwendung auf die Highscore-Liste " | ||
+ | * Analysiere die beiden Algorithmen, | ||
+ | |||
+ | |||
+ | |||
+ |