Aufgabe Vorschlag AJ - Aufgabe 2 · 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

Aufgabe 2 [7 BE]

2.1

Implementieren Sie die Methode fügeTicketHinzu(...) der Klasse Ticketsystem. [3 BE]

public void fügeTicketHinzu(Ticket einTicket)

2.2

Analysieren Sie die Methode bearbeiteErstesTicket() der Klasse Ticketsystem aus Material 2. [4 BE]

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

Lösung

Nach den offiziellen Korrekturhinweisen

2.1 Implementieren Sie die Methode fügeTicketHinzu(...) der Klasse Ticketsystem.

Lösung: ```java if (Erstes == null) { Erstes = einTicket; } else { Letztes.setNächstes(einTicket); } Letztes = einTicket; ```

2.2 Analysieren Sie die Methode bearbeiteErstesTicket() der Klasse Ticketsystem aus Material 2.

Lösung: Der Methode bearbeiteErstesTicket() wird kein Parameter übergeben. Ist die Liste leer, so wird ein entsprechender Hinweis auf der Konsole ausgegeben. Sonst werden die Nummer des ersten Tickets und sein Typ ausgegeben. Handelt es sich um eine Warenausgabe, so wird der Kassenbon des ersten Tickets in der Variablen einKassenbon gespeichert und es werden in den Zeilen 12 bis 13 mithilfe einer for-Schleife alle Artikelnummern des Kassenbons auf der Konsole ausgegeben. In Zeile 16 wird das erste Ticket aus der Liste entfernt, indem Erstes auf sein Nächstes gesetzt wird.

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 ›

Mehr Aufgaben zu Dynamische Datenstrukturen und Rekursion