Home > Informatik > Stufe Q1 > Bäume > Abituraufgaben

Abitur 2009

2007 - 2008 - 2009

Ahnenforschung

In dieser schon etwas längeren Aufgabe von 2009 (4 Seiten + 3 Seiten Anhang) wurde den Schülern zunächst gezeigt, wie man seine Vorfahren generationsweise in einem Binärbaum (kein binärer Suchbaum!) darstellt. Hier ein Beispiel, das nicht aus der Klausur stammt:

Die Vorfahren von Frodo Beutlin

 

Aufgaben

Aufgabe 1

Im ersten Teil der ersten Aufgabe sollen die S. die Baumstruktur, die sich aus dem Beispiel ergibt, graphisch in geeingeter Form darstellen.

Die Baumstruktur, die sich aus dem Beispiel ergibt

Eine mögliche Lösung könnte zum Beispiel aussehen, mit der "Wurzel" Frodo ganz oben, damit die Struktur des Binärbaums sichtbar wird.

Im zweiten Teil der Aufgabe 1 sollen die S. drei weitere Vorfahren in den Baum einbauen und die Zeichnung entsprechend ergänzen.

Die Aufgabe 1 kann man also theoretisch sogar ohne irgendwelche Informatik-Kenntnisse vollständig lösen.

Aufgabe 2
Erster Teil

Hier wird den S. erklärt, dass man nicht nur die Namen der Vorfahren speichern möchte, sondern auch ihr Geschlecht und ihr Geburtsdatum. Darum soll eine Klasse Ahne entwickelt werden, und die S. sollen die Methoden der Klasse Ahne kurz beschreiben.

Erwartet wird hier, dass die S. sondierende get-Methoden wie gibGeburtsdatum, gibGeschlecht, gibVorname und gibNachname nennen. Außerdem wird erwartet, dass die S. angeben, was die Methoden leisten, zum Beispiel dass gibVorname den Vornamen des Ahnen zurückgibt.

Das ist jetzt kein Scherz, was ich hier schreibe. Diese Erwartungen stammen tatsächlich aus den offiziellen Erwartungen der Aufgabe. Aber bitte wählen Sie jetzt nicht alle voreilig Informatik als drittes Abiturfach; die nächsten Aufgaben haben es nämlich ganz schön in sich. Aber man merkt hier deutlich, dass sich die Autoren der Aufgabe tatsächlich an die uralte Vorgabe halten, dass ein Schüler mit Leistungen, die im Anforderungsbereich I liegen, die Note ausreichend erreichen kann.

Zweiter Teil

Jetzt wird es schon etwas schwieriger. Den S. wird mitgeteilt, dass die gesamte Ahnenverwaltung durch eine Klasse AhnenVerwaltung erledigt werden soll. Die S. sollen nun ein Klassendiagramm mit den Klassen AhnenVerwaltung, Ahne und BinTree entwerfen, wobei die Methoden von AhnenVerwaltung und BinTree nicht aufgeführt werden müssen.

Im Zentrum des Klassendiagramm steht dann auch die Klasse Ahne; hier werden die Attribute und die Methoden aufgelistet. Die Klasse BinTree verwaltet Objekte der Klasse Ahne, und die Klasse AhnenVerwaltung hat ein Objekt der Klasse BinTree, außerdem ein oder mehrere Objekte der Klasse Ahne.

Aufgabe 3

Hier bekommen die S. einen Java-Quelltext vorgesetzt, der irgendetwas macht, was auf den ersten Blick nicht ersichtlich ist - eine beliebte Aufgabenform im Zentralabitur NRW. Die S. sollen diesen Algorithmus dokumentieren und herausfinden, was er eigentlich macht: "Analysieren Sie die Funktion von wasTueIch und begründen Sie ihre Überlegungen".

Was der Algorithmus macht, findet man relativ schnell heraus, aber das dann zu begründen, ist gar nicht so einfach.

Aufgabe 4

Jetzt geht es um die sogenannte Vorfahrenlinie. In unserem Beispiel von oben

Die Baumstruktur, die sich aus dem Beispiel ergibt

wäre zum Beispiel die Vorfahrenlinie von Balbo zu Frodo: vvvv, weil Balbo der Vater vom Vater vom Vater vom Vater von Frodo ist. Die Vorfahrenlinie zu Rbinia wäre entsprechend kürzer: vm.

Die S. sollen nun für ein gegebenes Beispiel eine weitere Vorfahrenlinie angeben; diese Aufgabe ist noch relativ simpel. Dann aber kommt es "dicke": Es soll eine Methode

public void fuegeHinzu(Ahne pAhne, String pLinie)

implementiert werden, die eine neue Person in den Baum einfügt. Dabei enthält der String pLinie die Vorfahrenlinie.