Home > Informatik > Stufe Q1 > ADTs

14.8 ADTs im Abitur NRW

Allgemeines - Abstrakte Datentypen - Stack - Queue - Dictionary - List - ADTs im Abitur - Axiome

Die generische Klasse Stack<ContentType>

In den Vorgaben und Materialien zum Zentralabitur in NRW wird der ADT Stack so ähnlich definiert, wie wir es in Folge 14.3 gesehen haben. Allerdings wird hier der Stack als generische Klasse aufgefasst. Das heißt - stark vereinfacht gesagt - es können im Stack nicht nur int-Zahlen gespeichert werden, sondern Objekte jeder Art.

In den Materialien zum Zentralabitur NRW liest sich das dann so:

Auszug aus den Material zum Zentralabitur NRW, Screenshot

Für ContentType kann man jeden beliebigen Datentyp einsetzen, nicht nur einfache int-Zahlen, sondern auch (und vor allem) Objekte anderer Klassen. Die Begriffe "Anfrage" und "Auftrag" sind übrigens synonym mit "sondierende Methode" und "manipulierende Methode".

Achten Sie darauf, dass die Beschreibungen der Operationen keinerlei Hinweise auf eine Implementation der Methoden enthalten - so ist das auch richtig bei Abstrakten Datentypen.

Wie man einen solchen Stack, der alle möglichen Datentypen verwalten kann, programmiert, haben wir bereits in Folge 14.3 gesehen. Allerdings verwaltet der Stack aus Folge 14.3 Objekte der Klasse Object. Einfache Datentypen wie int oder double können in diesem Stack daher nicht gespeichert werden. Die Methode mit dem allgemeinen ContentType, wie sie im Zentralabitur NRW angewandt wird, ist da etwas flexibler. In dem NRW-Stack können Objekte aller möglichen Klassen und auch einfache Datentypen wie int oder double gespeichert werden.

Aufgaben mit Stacks

Im Zentralabitur NRW ist es eher unwahrscheinlich, dass Sie in der Klausur einen Stack implementieren müssen, obwohl das ja recht simpel ist. Üblicher sind Aufgaben, die mit Hilfe eines Stacks gelöst werden müssen. Hierzu habe ich eine eigene Seite geschrieben, die Schüler(innen) bearbeiten sollten, die vorhaben, Informatik als Abiturfach zu wählen (oder Leute, die im normalen Unterricht ein paar Extrapunkte haben wollen).

Vertiefungsseite: Aufgaben mit Stacks.

Die generische Klasse Queue<ContentType>

In den Vorgaben und Materialien zum Zentralabitur in NRW wird der ADT Queue so ähnlich definiert, wie wir es in Folge 14.4 gesehen haben. Auch die Queue wird hier als generische Klasse gesehen, das heißt, die Operationen können auf alle möglichen Objekte angewandt werden, nicht nur auf int-Zahlen.

Wie man einen solche Schlange, die alle möglichen Datentypen verwalten kann, programmiert, haben Sie bereits in Folge 14.4 erarbeitet, als Sie die entsprechende Übung hoffentlich erfolgreich bearbeitet haben.

Aufgaben mit Schlangen

Auf meinem Rechner befindet sich ein Ordner mit allen bisher veröffentlichten Abituraufgaben in NRW, er enthält die GK- und LK-Klausuren von 2007 bis 2020. Wenn ich diesen Ordner mit dem Suchbegriff "Schlange" durchsuche, erhalte ich eine lange Liste von Dateien, in denen dieses Wort vorkommt. Hier ein Ausschnitt aus den Suchergebnissen:

Screenshot des Suchergebnisses nach "Schlange" in meinem Abituraufgaben-Ordner (Ausschnitt)

Auf der Vertiefungsseite "Aufgaben mit Schlangen" werde ich zwei oder drei dieser Aufgaben kurz beschreiben ohne allzu viel zu verraten; vielleicht kommt die eine oder andere Aufgabe ja in einem der nächsten Jahre im Zentralabitur in leicht veränderter Form noch einmal dran. Lösungen für die Aufgaben biete ich daher nicht an, aber zumindest ein paar Lösungshinweise, die vielleicht hilfreich sind.

Vertiefungsseite: Aufgaben mit Schlangen.

Die generische Klasse List<ContentType>

In den Vorgaben und Materialien zum Zentralabitur in NRW wird der ADT List genauso definiert, wie wir es in Folge 14.6 bereits gesehen haben. Auch die List wird hier als generische Klasse gesehen, das heißt, die Operationen können auf alle möglichen Objekte angewandt werden, nicht nur auf int-Zahlen.