Aufgabe Vorschlag AJ - Aufgabe 4 · Abitur Hessen Informatik LK 2022

Thema: Dynamische Datenstrukturen und Rekursion · Aus der Prüfung LK (2022)

Aufgabenstellung

Ticketsystem

In einem Möbelhaus gibt es für Warenausgabe und Reklamation ein gemeinsames Ticketsystem. Die Kunden müssen beim Betreten des Servicebereichs einen von zwei Knöpfen drücken, um entweder ihr Anliegen „Warenausgabe“ (Servicetyp: w) oder „Reklamation“ (Servicetyp: r) anzumelden. Sie erhalten dann ein Ticket mit eindeutiger Ticketnummer. Im Falle einer „Warenausgabe“ muss der Kunde zusätzlich noch den Kassenbon unter einen Barcode-Scanner halten. Eine Servicekraft kann dadurch die passenden Waren für die Abholung bereitstellen.

Die Kunden werden anhand ihrer Ticketnummer für die Bearbeitung ihres Tickets aufgerufen.

Material 1

Die Klassen Ticketsystem, Ticket und Kassenbon

Material 2

Die Methode bearbeiteErstesTicket()

01 public void bearbeiteErstesTicket() {

02 if (Erstes == null)

03 System.out.println("Liste ist leer");

04 else {

05 System.out.println("Nummer: " + Erstes.getNummer());

06 System.out.print("Typ: ");

07 if (Erstes.getTyp() == 'r') {

08 System.out.println("Reklamation");

09 } else {

10 System.out.println("Warenausgabe");

11 Kassenbon einKassenbon = Erstes.getKassenbon();

12 for (int i = 0; i < einKassenbon.getArtikelnummern().length; i++) {

13 System.out.println(einKassenbon.getArtikelnummern()[i]);

14 }

15 }

16 Erstes = Erstes.getNächstes();

17 }

18 }

Material 3

Die Methoden gibNächsteArtikelnummernAus() und gibArtikelnummernAus(...)

01 public void gibNächsteArtikelnummernAus() {

02 gibArtikelnummernAus(Erstes);

03 }

04

05 public void gibArtikelnummernAus(Ticket einTicket) {

06 // siehe Aufgabe 3

07 }

Material 4

UML-Diagramm der abstrakten Klasse TicketA

4 Zur weiteren Prozessoptimierung sollen die Serviceaufträge neu strukturiert werden. Es soll eine Möglichkeit geben, die Tickets für die Warenausgabe im Ticketsystem an den Anfang tauschen zu können. Reklamationen sollen erst nach Abarbeitung aller Warenausgaben behandelt werden. Die Reihenfolge innerhalb der Warenausgaben und der Reklamationen soll dabei erhalten bleiben.

4.1

Beschreiben Sie einen Algorithmus, der die Tickets entsprechend dieser Vorgaben sortiert. [4 BE]

4.2

Um die neue Ordnung ständig beizubehalten, muss eine neue Warenausgabe hinter allen Warenausgaben und vor allen Reklamationen eingefügt werden. Implementieren Sie dazu die Methode neuesTicketNachTyp(...) der Klasse Ticketsystem. [8 BE]

public void neuesTicketNachTyp(Ticket einTicket)

Aufgabenstellung: Aufgabe Vorschlag AJ - Aufgabe 4 · Abitur Hessen Informatik LK 2022

Lösung

Nach den offiziellen Korrekturhinweisen

4.1 Beschreiben Sie einen Algorithmus, der die Tickets entsprechend dieser Vorgaben sortiert.

Lösung: Der Algorithmus merkt sich zunächst, welches Ticket das letzte in der unsortierten Liste ist. Dann wird die Liste von Erstes bis zu diesem Ticket (inklusive) durchlaufen. Jede Reklamation, die bei diesem Durchlauf gefunden wird, wird an ihrer aktuellen Position gelöscht und am Ende der Liste neu eingefügt.

4.2 Um die neue Ordnung ständig beizubehalten, muss eine neue Warenausgabe hinter allen Warenausgaben und vor allen Reklamationen eingefügt werden. Implementieren Sie dazu die Methode neuesTicketNachTyp(...) der Klasse Ticketsystem.

Lösung: ```java if (Erstes == null) { Erstes = einTicket; Letztes = einTicket; } else { if (einTicket.getTyp() == 'r') { Letztes.setNächstes(einTicket); Letztes = einTicket; } else { if (Erstes.getTyp() == 'r') { einTicket.setNächstes(Erstes); Erstes = einTicket; } else { Ticket Aktuelles = Erstes; while (Aktuelles.getNächstes() != null && Aktuelles.getNächstes().getTyp() == 'w') { Aktuelles = Aktuelles.getNächstes(); } if (Letztes == Aktuelles) { Letztes = einTicket; } einTicket.setNächstes(Aktuelles.getNächstes()); Aktuelles.setNächstes(einTicket); } } } ```

Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium

Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.

‹ Aufgabe Vorschlag AJ - Aufgabe 3 · LK 2022 · Aufgabe Vorschlag AJ - Aufgabe 3.2-3.4 - Dynamische Daten… · LK 2021 ›

Mehr Aufgaben zu Dynamische Datenstrukturen und Rekursion