MINT üben

ASCII und Zeichenvergleich

Zwei Abituraufgaben zu ASCII-Werten und lexikographischem Vergleich — mit Hinweisen und Erwartungshorizont.

Dein Fortschritt:
0 / 0 Aufgaben
1

Die Klassenliste

AFB I–II

Eine Schulverwaltungssoftware sortiert Namen mit dem lexikographischen Vergleich compareTo nach ASCII-Werten. In einer Kursliste stehen die Nachnamen

Weber, van Dijk, Adams, Ozturk, de Boer, Wagner, Adam.

Die Lehrkraft wundert sich, dass „de Boer“ und „van Dijk“ ganz am Ende der sortierten Liste stehen.

  1. Bestimmen Sie die Reihenfolge, in der die Software die sieben Namen ausgibt.
  2. Begründen Sie mithilfe der ASCII-Werte, warum „Adam“ vor „Adams“, „Wagner“ vor „Weber“ und „Weber“ vor „de Boer“ steht.
  3. Entwickeln Sie eine Operation vorher(a, b), die wahr liefert, wenn a ohne Rücksicht auf Groß- und Kleinschreibung vor b steht. Verwenden Sie dafür nur ASCII-Werte, keine fertigen Umwandlungsfunktionen.

Hinweise

Hinweis zu Aufgabe a)
Großbuchstaben haben die Werte 65 bis 90, Kleinbuchstaben 97 bis 122. Vergleiche zuerst nur die Anfangsbuchstaben.
Hinweis zu Aufgabe b)
Suche jeweils die erste Position, an der sich die beiden Namen unterscheiden — oder stelle fest, dass es keine gibt.
Hinweis zu Aufgabe c)
Schreibe zuerst eine Hilfsoperation, die jeden Großbuchstaben in den passenden Kleinbuchstaben umwandelt, und vergleiche dann die Ergebnisse.