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:22] – 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 84: | Zeile 84: | ||
- | {{ : | + | {{ : |
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 98: | Zeile 98: | ||
=== (T3A1) === | === (T3A1) === | ||
Für das Sortieren werden zwei Algorithmen vorgeschlagen | Für das Sortieren werden zwei Algorithmen vorgeschlagen | ||
- | Algorithmus I | + | |
+ | **Algorithmus I** | ||
+ | < | ||
for i = 0 ... spielerAnzahl-1 | for i = 0 ... spielerAnzahl-1 | ||
- | for j = 1 ... spielerAnzahl-1 | + | |
- | if (spielerListe[j-1].getPunkte() < | + | if (spielerListe[j-1].getPunkte() < spielerListe[j].getPunkte()) then |
- | spielerListe[j].getPunkte()) then | + | tausche Spieler j mit Spieler (j-1) in spielerListe |
- | tausche Spieler j mit Spieler (j-1) in spielerListe | + | |
- | endif | + | endfor |
endfor | endfor | ||
- | endfor | + | </ |
- | Algorithmus II | + | |
+ | **Algorithmus II** | ||
+ | |||
+ | <code pseudocode> | ||
for i = 0 ... spielerAnzahl-1 | for i = 0 ... spielerAnzahl-1 | ||
- | bester = i | + | |
- | for j = i+1 ... spielerAnzahl-1 | + | for j = i+1 ... spielerAnzahl-1 |
- | if (spielerListe[bester].getPunkte() < | + | if (spielerListe[bester].getPunkte() < spielerListe[j].getPunkte()) then |
- | spielerListe[j].getPunkte()) then | + | bester = j |
- | bester = j | + | endif |
- | endif | + | endfor |
+ | tausche Spieler i mit Spieler bester in spielerListe | ||
endfor | endfor | ||
- | tausche Spieler i mit Spieler bester in spielerListe | + | </ |
- | endfor | + | |
- | • Geben Sie jeweils an, welches Sortierergebnis nach der Ausführung der Algorithmen | + | |
- | I und II bei der Anwendung auf die Highscore-Liste | + | * Gib jeweils an, welches Sortierergebnis nach der Ausführung der Algorithmen I und II bei der Anwendung auf die Highscore-Liste |
- | • Analysieren Sie die beiden Algorithmen, | + | * Analysiere |
+ | |||