Modellierung und Implementierung von dynamischen linearen Datenstrukturen und von Anwendungen mit dynamischen linearen Datenstrukturen in kontextbezogenen Problemstellungen
Leitfrage:Wie können beliebig viele linear angeordnete Daten in unterschiedlichen Anwendungskontexten problemgerecht verwaltet werden?
Vorhabenbezogene Konkretisierung:
Nach Analyse einer Problemstellung in einem geeigneten Anwendungskontext, in dem Daten nach dem First-In-First-Out-Prinzip verwaltet werden, wird der Aufbau von einer geeigneten Datenstruktur entwickelt und implementiert. Es werden unterschiedliche Implementationsmöglichkeiten verglichen. Anschließend werden die für die Anwendung notwendigen Klassen modelliert und implementiert. Die Klasse Queue wird als Alternative zur selbstentwickelten Datenstruktur vorgestellt. Anschließend wird die Anwendung modifiziert, um den Umgang mit der Datenstruktur zu üben.
Anhand einer Anwendung, in der Daten nach dem Last-In-First-Out-Prinzip verwaltet werden, werden Unterschiede zwischen den Datenstrukturen Schlange und Stapel erarbeitet. Eine der beiden Klassen zu den linearen Strukturen sollte vollständig modelliert, implementiert und dokumentiert werden.
Um einfacher an Objekte zu gelangen, die zwischen anderen gespeichert sind, wird ein Anwendungskontext vorgestellt, bei dem die Anwendung der Klassen Queue und Stack nicht problemgerecht ist. Die Klasse List, bei der das Einfügen an beliebiger Stelle einer sequentiell angeordneten Struktur möglich ist, wird eingeführt und in einem Anwendungskontext verwendet.
In mindestens einem weiteren Anwendungskontext wird die Verwaltung von Daten in Schlangen, Stapeln oder Listen vertieft. Modellierungen werden dabei in Entwurfs- und Implementationsdiagrammen dargestellt.
Zeitbedarf: 25 Stunden
Sequenzierung des Unterrichtsvorhabens:
Unterrichtssequenzen |
Zu entwickelnde Kompetenzen |
Beispiele, Medien, Materialien |
1. Modellierung und Implementation einer Datenstruktur Schlange, die die Daten nach dem FIFO-Prinzip im Anwendungskontext verwaltet. |
Die Schülerinnen und Schüler
|
Beispiel: (Schlange) Patientenwarteschlange Sobald eine Patientin oder ein Patient in einer Arztpraxis eintrifft, werden Name und Krankenkasse erfasst. Die Verwaltung der Patientenwarteschlange geschieht über eine Klasse, die hier als Wartezimmer bezeichnet wird. Wesentliche Operationen sind das „Hinzufügen“ von Patientinnen und Patienten sowie das „Entfernen“ von Patientinnen und Patienten, nachdem sie zur Behandlung gerufen wurden. Die Simulationsanwendung stellt eine GUI zur Verfügung, legt ein Wartezimmer an und steuert die Abläufe. Erster Lösungsansatz: Die FIFO-Datenstruktur wird problembezogen modelliert und implementiert. Materialien: Ergänzungsmaterialien zum Lehrplannavigator Unterrichtsvorhaben Q1.II |
2. Die Datenstruktur Schlange im Anwendungskontext unter Nutzung der Klasse Queue (d) Analyse der Problemstellung, Ermittlung von Objekten, ihren Eigenschaften und Operationen (e) Erarbeitung der Funktionalität der Klasse Queue und des Konzepts der parametrisierten Klassen Modellierung und Implementierung der Anwendung unter Verwendung eines oder mehrerer Objekte der Klasse Queue |
Zweiter Lösungsansatz: Bei der Modellierung und Implementation wird der generische Datentyp Queue verwendet. Materialien: Ergänzungsmaterialien zum Lehrplannavigator Unterrichtsvorhaben Q1.II |
|
3. Die Datenstruktur Stapel im Anwendungskontext unter Nutzung der Klasse Stack (d) Analyse der Problemstellung, Ermittlung von Objekten, ihren Eigenschaften und Operationen (e) Erarbeitung der Funktionalität der Klasse Stack (f) Modellierung und Implementierung der Anwendung unter Verwendung eines oder mehrerer Objekte der Klasse Stack |
Beispiel:(Stapel) Handdechiffrierer mit Undo-Operation. In einem Text sind Buchstaben vertauscht worden, er wird so zu einem Geheimtext. Dieser Text wird in ein Softwareprodukt kopiert und schrittweise dechiffriert. Es können für jedes Zeichen Ersetzungsvorschläge gemacht werden und die Software setzt diese Ersetzung im gesamten Text um. Am Kontrolltext bemerkt man, ob die Ersetzungen sinnvoll waren. Falls man einen Irrweg gegangen ist, kann man die Ersetzungen bis zu dem gewünschten Punkt schrittweise rückgängig machen. Die Modellierung und die Implementation erfolgt mit dem generischen Datentyp Stack. Materialien: Ergänzungsmaterialien zum Lehrplannavigator Unterrichtsvorhaben Q1.II |
|
4. Die Datenstruktur Lineare Liste im Anwendungskontext unter Nutzung der Klasse List (c) Erarbeitung der Vorteile der Klasse List im Gegensatz zu den bereits bekannten linearen Strukturen (d) Modellierung und Implementierung einer kontextbezogenen Anwendung unter Verwendung der Klasse List |
Beispiel:(Liste) Todo-Liste Es werden Aufgaben verwaltet, die in eine vom Benutzer gewünschte Reihenfolge angeordnet werden. Der Benutzer kann in der Todo-Liste navigieren, bestehende Einträge ändern oder löschen, sowie vor oder hinter einem Eintrag neue Aufgaben einfügen. Ein Test, in dem alle Aufgaben aufgelistet sind, kann ebenfalls abgerufen werden. Die Modellierung und die Implementation erfolgt mit dem generischen Datentyp List. Materialien: Ergänzungsmaterialien zum Lehrplannavigator Unterrichtsvorhaben Q1.II |
|
5. Vertiefung – Anwendungen von Listen, Stapeln oder Schlangen in mindestens einem weiteren Kontext (a) Modellierung und Implementierung einer weiteren Anwendung unter Verwendung eines oder mehrerer Objekte der Klasse Queue (b) Modellierung und Implementierung einer weiteren Anwendung unter Verwendung eines oder mehrerer Objekte der Klasse Stack (c) Modellierung und Implementierung einer weiteren kontextbezogenen Anwendung unter Verwendung der Klasse List |
Beispiele für Vertiefungen Beispiel:(Schlange) Auslastungssimulation einer Arztpraxis. Bei einer Arztpraxis wird die Auslastung des Arztes während der Sprechstunde simuliert. Eingegeben werden die Öffnungszeiten und die voraussichtliche Anzahl der zu erwartenden Patienten. Die Behandlungsdauern der Patientinnen und Patienten werden zufällig gesetzt. Ergebnis der Simulation sind die Zeiten, die die Arztpraxis nicht ausgelastet ist und die Zeit, die am Ende der Sprechstunde notwendig ist, um alle noch wartenden Patienten zu behandeln. Beispiel:(Stapel) Terme in Postfix-Notation Die sog. UPN (umgekehrte polnische Notation) bzw. Postfix-Notation eines Terms setzt den Operator hinter die Operanden. Um den Wert des Terms zu berechnen, kann ein Stack verwendet werden. Beispiel:(Liste) Verwaltung einer Todo-Liste mit Prioritäten (Todo-Listenmanager) Es werden Aufgaben verwaltet, die mit einer gewissen Priorität erledigt werden sollen. Es werden drei Prioritätsstufen unterschieden und die Aufgaben so angeordnet, dass sie in passender Reihenfolge stehen. |