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 07:20] – [Teil 3] 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 83: | Zeile 83: | ||
- | {{: | ||
- | === (T2A1) === | ||
+ | {{ : | ||
Das Schatzsuchespiel soll um eine Highscore-Liste erweitert werden. Dazu wird eine Klasse '' | Das Schatzsuchespiel soll um eine Highscore-Liste erweitert werden. Dazu wird eine Klasse '' | ||
eingeführt mit den Attributen '' | eingeführt mit den Attributen '' | ||
Zeile 94: | Zeile 93: | ||
Bei Punktegleichstand soll derjenige Spieler weiter vorne in der Liste stehen, der diesen Punktstand zuerst erreicht hat. Sortierverfahren, | 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 | ||
+ | | ||
+ | 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, | ||
+ | |||