Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:modellierung:2018a:start [16.12.2021 08:28] – [Teil 3] sbel | faecher:informatik:oberstufe:modellierung:2018a:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Schatzssuche ====== | ||
- | |||
- | |||
- | Im Folgenden sollen Teile eines Spiels implementiert werden, in dem zwei Schatzsucher auf | ||
- | einem quadratischen Spielfeld, hier als „Welt“ bezeichnet, einen Schatz suchen. Die genauen | ||
- | Spielregeln für die Schatzsuche selbst sind für die folgenden Aufgaben nicht relevant, es geht | ||
- | lediglich darum, die Welt mit einem Schatz und den Suchern anzulegen und zu verwalten. | ||
- | |||
- | {{ : | ||
- | |||
- | In der Implementierung besitzt die Klasse '' | ||
- | des Spielfeldes. Das Attribut '' | ||
- | des Arrays entspricht einem Feld der Welt. Der Eintrag '' | ||
- | leeres Feld, andernfalls kann mit '' | ||
- | |||
- | ===== Teil 1 ===== | ||
- | |||
- | {{: | ||
- | === (T1A1) === | ||
- | |||
- | Ü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, | ||
- | |||
- | |||
- | ---- | ||
- | Abituraufgabe 2018 in BW, Teil A | ||
- | |||