Abitur Hessen Informatik 2021 · GK

Abiturprüfung Informatik in Hessen 2021, GK: 27 Aufgaben mit Lösungen. Themen: Objektorientierte Modellierung mit UML. Mit automatischer Korrektur.

Themen der Prüfung: Objektorientierte Modellierung mit UML · Methoden mit Feldern implementieren und analysieren · Sortieren, Suchen und Laufzeit · ER-Modell und Relationenmodell · SQL-Abfragen und -Anweisungen · Relationenalgebra · Endliche Automaten · Grammatiken, reguläre Ausdrücke und Syntaxdiagramme

Aufgabe Vorschlag AJ - Aufgabe 1 · Objektorientierte Modellierung mit UML

Fitnessarmband

Fitnessarmbänder erfreuen sich einer immer größeren Beliebtheit. Diese sogenannten Fitnesstracker zeichnen verschiedene Daten auf, um so Rückschlüsse auf den Gesundheitszustand bzw. das sportliche Bewegungsverhalten ziehen zu können. Mit den gewonnenen Daten können Trainingseinheiten gezielt überwacht und ausgewertet werden. Im Folgenden wird ein Ausschnitt eines Fitnesstrackers modelliert.

Innerhalb der Klasse Fitnessarmband werden Name, Geschlecht, Körpergröße und Schrittlänge des Benutzers verwaltet. Außerdem erzeugt die Klasse Fitnessarmband mittels der Methode erstelleTagesleistung() jeden Tag ein Objekt der Klasse Tagesleistung, das am Ende des Tages im Feld meineTagesleistungen gespeichert wird.

Die Klasse Tagesleistung speichert für ein Datum sowohl die Anzahl der Schritte als auch den Puls jeweils zu jeder vollen Minute (60⋅24=144060 \cdot 24 = 1440 mal) automatisch mit Hilfe der Methode setzeSchritte(...) bzw. setzePuls(...) in den Feldern Schritte bzw. Pulswerte ab. Als Methoden existieren gibMinPuls(), gibMaxPuls() und gibDurschnittPuls(), die den niedrigsten, den höchsten bzw. den durchschnittlichen Tagespuls ermitteln. Die Methode berechneWegstrecke(double Schrittlänge) berechnet aus Schrittlänge und den Schritten die zurückgelegte Wegstrecke. Die Methode setzePuls(int Stunde, int Minute, int Pulswert) speichert den aktuellen Pulswert am entsprechenden Index im Feld Pulswerte.

1.1

Modellieren Sie die Klassen Fitnessarmband und Tagesleistung gemäß obigen Anforderungen als UML-Klassendiagramm. Auf die Angabe der get/set-Methoden kann verzichtet werden. [8 BE]

1.2

Erläutern Sie anhand des UML-Klassendiagramms aus Aufgabe 1.1 das Geheimnisprinzip. [5 BE]

Aufgabe Vorschlag AJ - Aufgabe 2 · Methoden mit Feldern implementieren und analysieren

Fitnessarmband

Fitnessarmbänder erfreuen sich einer immer größeren Beliebtheit. Diese sogenannten Fitnesstracker zeichnen verschiedene Daten auf, um so Rückschlüsse auf den Gesundheitszustand bzw. das sportliche Bewegungsverhalten ziehen zu können. Mit den gewonnenen Daten können Trainingseinheiten gezielt überwacht und ausgewertet werden. Im Folgenden wird ein Ausschnitt eines Fitnesstrackers modelliert.

Innerhalb der Klasse Fitnessarmband werden Name, Geschlecht, Körpergröße und Schrittlänge des Benutzers verwaltet. Außerdem erzeugt die Klasse Fitnessarmband mittels der Methode erstelleTagesleistung() jeden Tag ein Objekt der Klasse Tagesleistung, das am Ende des Tages im Feld meineTagesleistungen gespeichert wird.

Die Klasse Tagesleistung speichert für ein Datum sowohl die Anzahl der Schritte als auch den Puls jeweils zu jeder vollen Minute (60⋅24=144060 \cdot 24 = 1440 mal) automatisch mit Hilfe der Methode setzeSchritte(...) bzw. setzePuls(...) in den Feldern Schritte bzw. Pulswerte ab. Als Methoden existieren gibMinPuls(), gibMaxPuls() und gibDurschnittPuls(), die den niedrigsten, den höchsten bzw. den durchschnittlichen Tagespuls ermitteln. Die Methode berechneWegstrecke(double Schrittlänge) berechnet aus Schrittlänge und den Schritten die zurückgelegte Wegstrecke. Die Methode setzePuls(int Stunde, int Minute, int Pulswert) speichert den aktuellen Pulswert am entsprechenden Index im Feld Pulswerte.

2.1

Implementieren Sie die Methode setzePuls(...) der Klasse Tagesleistung. [3 BE]

public void setzePuls(int Stunde, int Minute, int Pulswert) {

2.2

Implementieren Sie für die Klasse Tagesleistung die Methode gibDurchschnittPuls(), die den durchschnittlichen Puls eines vergangenen Tages ermittelt. [5 BE]

public int gibDurchschnittPuls() {

Aufgabe Vorschlag AJ - Aufgabe 3 · Methoden mit Feldern implementieren und analysieren

Fitnessarmband

Fitnessarmbänder erfreuen sich einer immer größeren Beliebtheit. Diese sogenannten Fitnesstracker zeichnen verschiedene Daten auf, um so Rückschlüsse auf den Gesundheitszustand bzw. das sportliche Bewegungsverhalten ziehen zu können. Mit den gewonnenen Daten können Trainingseinheiten gezielt überwacht und ausgewertet werden. Im Folgenden wird ein Ausschnitt eines Fitnesstrackers modelliert.

Innerhalb der Klasse Fitnessarmband werden Name, Geschlecht, Körpergröße und Schrittlänge des Benutzers verwaltet. Außerdem erzeugt die Klasse Fitnessarmband mittels der Methode erstelleTagesleistung() jeden Tag ein Objekt der Klasse Tagesleistung, das am Ende des Tages im Feld meineTagesleistungen gespeichert wird.

Die Klasse Tagesleistung speichert für ein Datum sowohl die Anzahl der Schritte als auch den Puls jeweils zu jeder vollen Minute (60⋅24=144060 \cdot 24 = 1440 mal) automatisch mit Hilfe der Methode setzeSchritte(...) bzw. setzePuls(...) in den Feldern Schritte bzw. Pulswerte ab. Als Methoden existieren gibMinPuls(), gibMaxPuls() und gibDurschnittPuls(), die den niedrigsten, den höchsten bzw. den durchschnittlichen Tagespuls ermitteln. Die Methode berechneWegstrecke(double Schrittlänge) berechnet aus Schrittlänge und den Schritten die zurückgelegte Wegstrecke. Die Methode setzePuls(int Stunde, int Minute, int Pulswert) speichert den aktuellen Pulswert am entsprechenden Index im Feld Pulswerte.

3.1

Entwerfen Sie ein Struktogramm für einen Algorithmus berechneWegstrecke(...), der aus der Schrittlänge und den Schritten pro Minute die an einem Tag zurückgelegte Wegstrecke berechnet. [5 BE]

3.2

Implementieren Sie die Methode bestimmeBesterTag() der Klasse Fitnessarmband, die das Datum liefert, an dem die größte Wegstrecke zurückgelegt wurde. [7 BE]

public String bestimmeBesterTag() {

Aufgabe Vorschlag AJ - Aufgabe 4.1 - Objektorientierte Mo… · Objektorientierte Modellierung mit UML

Das Fitnessarmband in der GPS-Version enthält auch einen GPS-Empfänger. Es zeichnet für einen Trainingslauf die aktuelle Position mit Breitengrad, Längengrad und Höhe einmal pro Minute auf. Diese Werte werden mit dem aktuellen Datum in der Klasse Lauf (Material 1) gespeichert. Das GPS-Armband kann bis zu 100 Läufe speichern.

Material 1

Die Klasse Lauf

01 public class Lauf {

02

03 private double int[] Breite;

04 private double int[] Länge;

05 private int[] Höhe;

06 private String Datum;

07...

08 }

Material 2

Die Methoden untersuchen() und wasTueIch(...) der Klasse Lauf

01 public int untersuchen() {

02 int Wert = wasTueIch(0, Höhe.length-1);

03 return Wert;

04 }

05

06 private int wasTueIch(int Untergrenze, int Obergrenze) {

07 if (Obergrenze == Untergrenze) {

08 return Höhe[Obergrenze];

09 }

10 else {

11 int Mitte = (Obergrenze + Untergrenze) / 2;

12 int Wert1 = wasTueIch(Untergrenze, Mitte);

13 int Wert2 = wasTueIch(Mitte + 1, Obergrenze);

14 if (Wert1 < Wert2)

15 return Wert2;

16 else

17 return Wert1;

18 }

19 }

4.1 Modellieren Sie die Klassen GPSArmband und Lauf als UML-Klassendiagramm.

Berücksichtigen Sie dabei auch Aufgabe 4.2.

Hinweis

Die Klasse GPSArmband enthält auch alle Attribute und Methoden der Klasse Fitnessarmband aus Aufgabe 1.

Zeichnen Sie das vollständige UML-Klassendiagramm auf Papier und laden Sie hier ein Foto Ihrer Zeichnung hoch:

Aufgabe Vorschlag AJ - Aufgabe 4.2 - Methoden analysieren · Methoden mit Feldern implementieren und analysieren

Das Fitnessarmband in der GPS-Version enthält auch einen GPS-Empfänger. Es zeichnet für einen Trainingslauf die aktuelle Position mit Breitengrad, Längengrad und Höhe einmal pro Minute auf. Diese Werte werden mit dem aktuellen Datum in der Klasse Lauf (Material 1) gespeichert. Das GPS-Armband kann bis zu 100 Läufe speichern.

Material 1

Die Klasse Lauf

01 public class Lauf {

02

03 private double int[] Breite;

04 private double int[] Länge;

05 private int[] Höhe;

06 private String Datum;

07...

08 }

Material 2

Die Methoden untersuchen() und wasTueIch(...) der Klasse Lauf

01 public int untersuchen() {

02 int Wert = wasTueIch(0, Höhe.length-1);

03 return Wert;

04 }

05

06 private int wasTueIch(int Untergrenze, int Obergrenze) {

07 if (Obergrenze == Untergrenze) {

08 return Höhe[Obergrenze];

09 }

10 else {

11 int Mitte = (Obergrenze + Untergrenze) / 2;

12 int Wert1 = wasTueIch(Untergrenze, Mitte);

13 int Wert2 = wasTueIch(Mitte + 1, Obergrenze);

14 if (Wert1 < Wert2)

15 return Wert2;

16 else

17 return Wert1;

18 }

19 }

4.2 Ein wichtiger Wert für die Laufanalyse wird mit den Methoden untersuchen() und wasTueIch(...) der Klasse Lauf bestimmt (Material 2).

Analysieren Sie die beiden Methoden:

Erläutern Sie die Bedeutung des Wertes, den untersuchen() liefert:

Aufgabe Vorschlag AJ - Aufgabe 4.3 - Sortieren · Sortieren, Suchen und Laufzeit

Das Fitnessarmband in der GPS-Version enthält auch einen GPS-Empfänger. Es zeichnet für einen Trainingslauf die aktuelle Position mit Breitengrad, Längengrad und Höhe einmal pro Minute auf. Diese Werte werden mit dem aktuellen Datum in der Klasse Lauf (Material 1) gespeichert. Das GPS-Armband kann bis zu 100 Läufe speichern.

Material 1

Die Klasse Lauf

01 public class Lauf {

02

03 private double int[] Breite;

04 private double int[] Länge;

05 private int[] Höhe;

06 private String Datum;

07...

08 }

Material 2

Die Methoden untersuchen() und wasTueIch(...) der Klasse Lauf

01 public int untersuchen() {

02 int Wert = wasTueIch(0, Höhe.length-1);

03 return Wert;

04 }

05

06 private int wasTueIch(int Untergrenze, int Obergrenze) {

07 if (Obergrenze == Untergrenze) {

08 return Höhe[Obergrenze];

09 }

10 else {

11 int Mitte = (Obergrenze + Untergrenze) / 2;

12 int Wert1 = wasTueIch(Untergrenze, Mitte);

13 int Wert2 = wasTueIch(Mitte + 1, Obergrenze);

14 if (Wert1 < Wert2)

15 return Wert2;

16 else

17 return Wert1;

18 }

19 }

4.3

Im Feld Läufe der Klasse GPSArmband sind die Datensätze der einzelnen Läufe nicht zwingend nach Datum sortiert. Für eine differenzierte Analyse der Leistungsentwicklung ist dies aber erforderlich.

Beschreiben Sie einen Algorithmus, der das Feld Läufe nach Datum sortiert.

[7 BE]

Aufgabe Vorschlag B1 - Aufgabe 1 · ER-Modell und Relationenmodell

Tauchschule

Eine Tauchschule bietet Schulungstauchgänge an. Jeder Tauchgang wird dabei von einem Tauchlehrer geleitet, der als Mitarbeiter bei der Tauchschule angestellt ist. Die Tauchschule notiert, welche Ausrüstungsgegenstände für einen Tauchgang verwendet werden.

Die Tauchlehrer besitzen unterschiedliche Qualifikationen. Jeder besitzt eine Zertifizierungsstufe (1: Divemaster bis 8: Course Director). Außerdem kann jeder Tauchlehrer eine oder mehrere Spezialausbildungen (z. B. Deep Diver, Ice Diver,...) besitzen.

Die Tauchschule verwaltet die beschriebenen Informationen in einer Datenbank. Das zugehörige ER-Modell ist im Material gegeben.

Die Tauchschule will in Zukunft auch die folgenden Informationen mithilfe der Datenbank verwalten:

Jeder Ausrüstungsgegenstand wird regelmäßig von einem Mitarbeiter der Tauchschule geprüft. Von jedem Prüfvorgang werden das Datum, die Uhrzeit und das Ergebnis der Prüfung (positiv, negativ) notiert.

Die Kontaktdaten der Zulieferfirmen (Firmenname, Telefonnummer, Adresse), von denen die Tauchschule Ausrüstungsgegenstände bezieht.

Für jeden Ausrüstungsgegenstand, bei welchem Zulieferer dieser gekauft wurde.

Material

Aufgaben

1.1

Modellieren Sie entsprechend den Vorgaben eine Erweiterung des ER-Diagramms im Material mit Angabe der Kardinalitäten und Optionalitäten.

[5 BE]

1.2

Erläutern Sie anhand von Zulieferfirma die Begriffe Entitätstyp und Entität.

[2 BE]

1.3

Diskutieren Sie, inwiefern sich die Attribute Tauchplatz, Datum und Startzeit an Stelle von TNr als zusammengesetzter Primärschlüssel für Tauchgang eignen.

[2 BE]

1.4

Erläutern Sie die unterschiedliche Modellierung der Attribute Zertifizierungsstufe und Spezialausbildung.

[2 BE]

1.5

Erläutern Sie den Beziehungstyp leitet.

[2 BE]

Aufgabe Vorschlag B1 - Aufgabe 2 · ER-Modell und Relationenmodell

Tauchschule

Eine Tauchschule bietet Schulungstauchgänge an. Jeder Tauchgang wird dabei von einem Tauchlehrer geleitet, der als Mitarbeiter bei der Tauchschule angestellt ist. Die Tauchschule notiert, welche Ausrüstungsgegenstände für einen Tauchgang verwendet werden.

Die Tauchlehrer besitzen unterschiedliche Qualifikationen. Jeder besitzt eine Zertifizierungsstufe (1: Divemaster bis 8: Course Director). Außerdem kann jeder Tauchlehrer eine oder mehrere Spezialausbildungen (z. B. Deep Diver, Ice Diver,...) besitzen.

Die Tauchschule verwaltet die beschriebenen Informationen in einer Datenbank. Das zugehörige ER-Modell ist im Material gegeben.

Die Tauchschule will in Zukunft auch die folgenden Informationen mithilfe der Datenbank verwalten:

Jeder Ausrüstungsgegenstand wird regelmäßig von einem Mitarbeiter der Tauchschule geprüft. Von jedem Prüfvorgang werden das Datum, die Uhrzeit und das Ergebnis der Prüfung (positiv, negativ) notiert.

Die Kontaktdaten der Zulieferfirmen (Firmenname, Telefonnummer, Adresse), von denen die Tauchschule Ausrüstungsgegenstände bezieht.

Für jeden Ausrüstungsgegenstand, bei welchem Zulieferer dieser gekauft wurde.

Material

2. Überführen Sie das vervollständigte ER-Diagramm aus Aufgabe 1.1 in ein optimiertes Relationenmodell und kennzeichnen Sie die Primär- und Fremdschlüssel.

[5 BE]

Kennzeichnen Sie Primärschlüssel (z. B. durch Unterstreichung oder Attribut) und Fremdschlüssel (z. B. durch einen Pfeil vorangestellt wie ↑Attribut).

Aufgabe Vorschlag B1 - Aufgabe 3 · Relationenalgebra

Tauchschule

Eine Tauchschule bietet Schulungstauchgänge an. Jeder Tauchgang wird dabei von einem Tauchlehrer geleitet, der als Mitarbeiter bei der Tauchschule angestellt ist. Die Tauchschule notiert, welche Ausrüstungsgegenstände für einen Tauchgang verwendet werden.

Die Tauchlehrer besitzen unterschiedliche Qualifikationen. Jeder besitzt eine Zertifizierungsstufe (1: Divemaster bis 8: Course Director). Außerdem kann jeder Tauchlehrer eine oder mehrere Spezialausbildungen (z. B. Deep Diver, Ice Diver,...) besitzen.

Die Tauchschule verwaltet die beschriebenen Informationen in einer Datenbank. Das zugehörige ER-Modell ist im Material gegeben.

Die Tauchschule will in Zukunft auch die folgenden Informationen mithilfe der Datenbank verwalten:

Jeder Ausrüstungsgegenstand wird regelmäßig von einem Mitarbeiter der Tauchschule geprüft. Von jedem Prüfvorgang werden das Datum, die Uhrzeit und das Ergebnis der Prüfung (positiv, negativ) notiert.

Die Kontaktdaten der Zulieferfirmen (Firmenname, Telefonnummer, Adresse), von denen die Tauchschule Ausrüstungsgegenstände bezieht.

Für jeden Ausrüstungsgegenstand, bei welchem Zulieferer dieser gekauft wurde.

Material

3 Geben Sie für folgende Anforderungen Terme in der Relationenalgebra an:

3.1

Ausgabe der Tauchplätze aller Tauchgänge, die von dem Tauchlehrer mit PersonalNr 142 geleitet wurden und vor dem 01.05.2019 stattgefunden haben. [2 BE]

3.2

Vorname und Nachname aller Mitarbeiter, die bei einem Tauchgang einen Ausrüstungsgegenstand verwendet haben, der mindestens einmal negativ geprüft wurde. [3 BE]

Aufgabe Vorschlag B1 - Aufgabe 4 · SQL-Abfragen und -Anweisungen

Tauchschule

Eine Tauchschule bietet Schulungstauchgänge an. Jeder Tauchgang wird dabei von einem Tauchlehrer geleitet, der als Mitarbeiter bei der Tauchschule angestellt ist. Die Tauchschule notiert, welche Ausrüstungsgegenstände für einen Tauchgang verwendet werden.

Die Tauchlehrer besitzen unterschiedliche Qualifikationen. Jeder besitzt eine Zertifizierungsstufe (1: Divemaster bis 8: Course Director). Außerdem kann jeder Tauchlehrer eine oder mehrere Spezialausbildungen (z. B. Deep Diver, Ice Diver,...) besitzen.

Die Tauchschule verwaltet die beschriebenen Informationen in einer Datenbank. Das zugehörige ER-Modell ist im Material gegeben.

Die Tauchschule will in Zukunft auch die folgenden Informationen mithilfe der Datenbank verwalten:

Jeder Ausrüstungsgegenstand wird regelmäßig von einem Mitarbeiter der Tauchschule geprüft. Von jedem Prüfvorgang werden das Datum, die Uhrzeit und das Ergebnis der Prüfung (positiv, negativ) notiert.

Die Kontaktdaten der Zulieferfirmen (Firmenname, Telefonnummer, Adresse), von denen die Tauchschule Ausrüstungsgegenstände bezieht.

Für jeden Ausrüstungsgegenstand, bei welchem Zulieferer dieser gekauft wurde.

Material

4 Implementieren Sie SQL-Anweisungen für die folgenden Abfragen:

4.1

Ausgabe der Anzahl aller Tauchgänge, die der Tauchlehrer mit PersonalNr 516 geleitet hat. [2 BE]

4.2

Ausgabe von Tauchplatz, Startzeit, Dauer und Nachname des leitenden Tauchlehrers aller Tauchgänge, die am 02.06.2019 stattfanden. [3 BE]

Aufgabe Vorschlag B1 - Aufgabe 5 · Relationenalgebra

Tauchschule

Eine Tauchschule bietet Schulungstauchgänge an. Jeder Tauchgang wird dabei von einem Tauchlehrer geleitet, der als Mitarbeiter bei der Tauchschule angestellt ist. Die Tauchschule notiert, welche Ausrüstungsgegenstände für einen Tauchgang verwendet werden.

Die Tauchlehrer besitzen unterschiedliche Qualifikationen. Jeder besitzt eine Zertifizierungsstufe (1: Divemaster bis 8: Course Director). Außerdem kann jeder Tauchlehrer eine oder mehrere Spezialausbildungen (z. B. Deep Diver, Ice Diver,...) besitzen.

Die Tauchschule verwaltet die beschriebenen Informationen in einer Datenbank. Das zugehörige ER-Modell ist im Material gegeben.

Die Tauchschule will in Zukunft auch die folgenden Informationen mithilfe der Datenbank verwalten:

Jeder Ausrüstungsgegenstand wird regelmäßig von einem Mitarbeiter der Tauchschule geprüft. Von jedem Prüfvorgang werden das Datum, die Uhrzeit und das Ergebnis der Prüfung (positiv, negativ) notiert.

Die Kontaktdaten der Zulieferfirmen (Firmenname, Telefonnummer, Adresse), von denen die Tauchschule Ausrüstungsgegenstände bezieht.

Für jeden Ausrüstungsgegenstand, bei welchem Zulieferer dieser gekauft wurde.

Material

5 Geben Sie einen Term in der Relationenalgebra an, der die gleiche Ausgabe erzeugt wie die SQL-Anweisung in Aufgabe 4.2. [2 BE]

Aufgabe Vorschlag B1 - Aufgabe 6 · ER-Modell und Relationenmodell

Tauchschule

Eine Tauchschule bietet Schulungstauchgänge an. Jeder Tauchgang wird dabei von einem Tauchlehrer geleitet, der als Mitarbeiter bei der Tauchschule angestellt ist. Die Tauchschule notiert, welche Ausrüstungsgegenstände für einen Tauchgang verwendet werden.

Die Tauchlehrer besitzen unterschiedliche Qualifikationen. Jeder besitzt eine Zertifizierungsstufe (1: Divemaster bis 8: Course Director). Außerdem kann jeder Tauchlehrer eine oder mehrere Spezialausbildungen (z. B. Deep Diver, Ice Diver,...) besitzen.

Die Tauchschule verwaltet die beschriebenen Informationen in einer Datenbank. Das zugehörige ER-Modell ist im Material gegeben.

Die Tauchschule will in Zukunft auch die folgenden Informationen mithilfe der Datenbank verwalten:

Jeder Ausrüstungsgegenstand wird regelmäßig von einem Mitarbeiter der Tauchschule geprüft. Von jedem Prüfvorgang werden das Datum, die Uhrzeit und das Ergebnis der Prüfung (positiv, negativ) notiert.

Die Kontaktdaten der Zulieferfirmen (Firmenname, Telefonnummer, Adresse), von denen die Tauchschule Ausrüstungsgegenstände bezieht.

Für jeden Ausrüstungsgegenstand, bei welchem Zulieferer dieser gekauft wurde.

Material

6 Für einen Tauchgang werden neben der Leitung oft weitere Mitarbeiter benötigt (zum Fahren des Begleitbootes, zur Absicherung, …). Für die Einsatzplanung muss auch die Rolle, die die verschiedenen Mitarbeiter im Rahmen des Tauchgangs spielen, gespeichert werden.

6.1

Erläutern Sie, warum sich mit dem Relationenmodell aus Aufgabe 2 die beschriebenen Anforderungen nicht erfüllen lassen. [2 BE]

6.2

Beschreiben Sie, wie das ER-Modell im Material verändert werden muss, damit dieses den beschriebenen Anforderungen genügt. [2 BE]

6.3

Erläutern Sie die notwendigen Veränderungen am Relationenmodell aus Aufgabe 2, die sich aus der Veränderung des ER-Modells ergeben. [3 BE]

Aufgabe Vorschlag B1 - Aufgabe 7 · Relationenalgebra

Tauchschule

Eine Tauchschule bietet Schulungstauchgänge an. Jeder Tauchgang wird dabei von einem Tauchlehrer geleitet, der als Mitarbeiter bei der Tauchschule angestellt ist. Die Tauchschule notiert, welche Ausrüstungsgegenstände für einen Tauchgang verwendet werden.

Die Tauchlehrer besitzen unterschiedliche Qualifikationen. Jeder besitzt eine Zertifizierungsstufe (1: Divemaster bis 8: Course Director). Außerdem kann jeder Tauchlehrer eine oder mehrere Spezialausbildungen (z. B. Deep Diver, Ice Diver,...) besitzen.

Die Tauchschule verwaltet die beschriebenen Informationen in einer Datenbank. Das zugehörige ER-Modell ist im Material gegeben.

Die Tauchschule will in Zukunft auch die folgenden Informationen mithilfe der Datenbank verwalten:

Jeder Ausrüstungsgegenstand wird regelmäßig von einem Mitarbeiter der Tauchschule geprüft. Von jedem Prüfvorgang werden das Datum, die Uhrzeit und das Ergebnis der Prüfung (positiv, negativ) notiert.

Die Kontaktdaten der Zulieferfirmen (Firmenname, Telefonnummer, Adresse), von denen die Tauchschule Ausrüstungsgegenstände bezieht.

Für jeden Ausrüstungsgegenstand, bei welchem Zulieferer dieser gekauft wurde.

Material

7 Gegeben ist der folgende Term in der relationalen Algebra:

πZertifizierungsstufe(σTNr=42(Tauchgang⋈Mitarbeiter))\pi_{\text{Zertifizierungsstufe}}(\sigma_{\text{TNr} = 42}(\text{Tauchgang} \bowtie \text{Mitarbeiter}))

7.1

Begründen Sie, dass der Term keine sinnvolle inhaltliche Bedeutung hat, wenn man ihn auf das veränderte Relationenmodell aus Aufgabe 6.3 anwendet. [1 BE]

7.2

Wendet man den Term auf das Relationenmodell aus Aufgabe 2 an, gibt er die Zertifizierungsstufe des Mitarbeiters aus, der den Tauchgang mit TNr 42 geleitet hat. Entwickeln Sie ausgehend vom gegebenen Term einen Term für das veränderte Modell, der die gleiche inhaltliche Bedeutung hat. [2 BE]

Aufgabe Vorschlag B2 - Aufgabe 1 · ER-Modell und Relationenmodell

Rollrasen

Rollrasen – auch bekannt als Fertigrasen – wird auf großen Anbauflächen gesät und großgezogen, bevor er für den Verkauf geschält und zu Rollen aufgewickelt wird. Das Verlegen kann von Fachfirmen, aber ebenso von Privatpersonen einfach und schnell erfolgen.

Die Firma Rollrasen Sprieß bietet drei verschiedene Rollrasen an:

Sportrasen, der besonders strapazierfähig ist (1,99 €/m²)

Premiumrasen mit besonders dichtem und kräftigem Wuchs (2,45 €/m²)

Schattenrasen, der auch auf dauerhaft im Schatten liegenden Flächen gut wächst (3,45 €/m²)

Bislang beliefert Rollrasen Sprieß nur Firmenkunden, die wiederum den Rollrasen für ihre eigenen Kunden bestellen und ihn in deren Auftrag verlegen. Jeder Firmenkunde hat einen eindeutigen Firmennamen, eine Adresse und einen Ansprechpartner (Anrede, Vorname, Nachname, Telefon).

Die Firmenkunden bestellen Rollrasen in den gewünschten Mengen an eine Lieferadresse ihres Kunden zu einem bestimmten Wunschtermin. Jeder Firmenkunde ist einer bestimmten Rabattstufe zugeordnet und erhält entsprechenden Nachlass bei Bestellungen.

Rollrasen Sprieß verwaltet alle Daten rund um das Geschäft mithilfe einer Datenbank. Das unvollständige ER-Diagramm dieser Datenbank ist im Material gegeben.

Material: Unvollständiges ER-Diagramm

1 Modellieren Sie in Material 1 die fehlenden Beziehungstypen, Attribute, Kardinalitäten und Optionalitäten, so dass die Anforderungen aus dem Aufgabentext erfüllt werden. [6 BE]

Aufgabe Vorschlag B2 - Aufgabe 2 · ER-Modell und Relationenmodell

Rollrasen

Rollrasen – auch bekannt als Fertigrasen – wird auf großen Anbauflächen gesät und großgezogen, bevor er für den Verkauf geschält und zu Rollen aufgewickelt wird. Das Verlegen kann von Fachfirmen, aber ebenso von Privatpersonen einfach und schnell erfolgen.

Die Firma Rollrasen Sprieß bietet drei verschiedene Rollrasen an:

Sportrasen, der besonders strapazierfähig ist (1,99 €/m²)

Premiumrasen mit besonders dichtem und kräftigem Wuchs (2,45 €/m²)

Schattenrasen, der auch auf dauerhaft im Schatten liegenden Flächen gut wächst (3,45 €/m²)

Bislang beliefert Rollrasen Sprieß nur Firmenkunden, die wiederum den Rollrasen für ihre eigenen Kunden bestellen und ihn in deren Auftrag verlegen. Jeder Firmenkunde hat einen eindeutigen Firmennamen, eine Adresse und einen Ansprechpartner (Anrede, Vorname, Nachname, Telefon).

Die Firmenkunden bestellen Rollrasen in den gewünschten Mengen an eine Lieferadresse ihres Kunden zu einem bestimmten Wunschtermin. Jeder Firmenkunde ist einer bestimmten Rabattstufe zugeordnet und erhält entsprechenden Nachlass bei Bestellungen.

Rollrasen Sprieß verwaltet alle Daten rund um das Geschäft mithilfe einer Datenbank. Das unvollständige ER-Diagramm dieser Datenbank ist im Material gegeben.

Material: Unvollständiges ER-Diagramm

2 Überführen Sie das vollständige ER-Diagramm aus Aufgabe 1 in ein optimiertes Relationenmodell. [5 BE]

Geben Sie das Relationenmodell an. Kennzeichnen Sie Primärschlüssel (z. B. durch Unterstreichung oder Angabe) und Fremdschlüssel (z. B. durch Pfeil &uarr;).

Aufgabe Vorschlag B2 - Aufgabe 3 · ER-Modell und Relationenmodell

Rollrasen

Rollrasen – auch bekannt als Fertigrasen – wird auf großen Anbauflächen gesät und großgezogen, bevor er für den Verkauf geschält und zu Rollen aufgewickelt wird. Das Verlegen kann von Fachfirmen, aber ebenso von Privatpersonen einfach und schnell erfolgen.

Die Firma Rollrasen Sprieß bietet drei verschiedene Rollrasen an:

Sportrasen, der besonders strapazierfähig ist (1,99 €/m²)

Premiumrasen mit besonders dichtem und kräftigem Wuchs (2,45 €/m²)

Schattenrasen, der auch auf dauerhaft im Schatten liegenden Flächen gut wächst (3,45 €/m²)

Bislang beliefert Rollrasen Sprieß nur Firmenkunden, die wiederum den Rollrasen für ihre eigenen Kunden bestellen und ihn in deren Auftrag verlegen. Jeder Firmenkunde hat einen eindeutigen Firmennamen, eine Adresse und einen Ansprechpartner (Anrede, Vorname, Nachname, Telefon).

Die Firmenkunden bestellen Rollrasen in den gewünschten Mengen an eine Lieferadresse ihres Kunden zu einem bestimmten Wunschtermin. Jeder Firmenkunde ist einer bestimmten Rabattstufe zugeordnet und erhält entsprechenden Nachlass bei Bestellungen.

Rollrasen Sprieß verwaltet alle Daten rund um das Geschäft mithilfe einer Datenbank. Das unvollständige ER-Diagramm dieser Datenbank ist im Material gegeben.

Material: Unvollständiges ER-Diagramm

3 Die Firmen Rasenfix und WunderGrün sind beide Kunden bei Rollrasen Sprieß und haben beide schon für Herrn Hans Meyer, Hauptstr. 16 in 12345 Musterstadt Rollrasen bestellt und verlegt. Erläutern Sie die Auswirkungen auf die Datensätze der Relation Lieferadresse.

[2 BE]

Aufgabe Vorschlag B2 - Aufgabe 4 · SQL-Abfragen und -Anweisungen

Rollrasen

Rollrasen – auch bekannt als Fertigrasen – wird auf großen Anbauflächen gesät und großgezogen, bevor er für den Verkauf geschält und zu Rollen aufgewickelt wird. Das Verlegen kann von Fachfirmen, aber ebenso von Privatpersonen einfach und schnell erfolgen.

Die Firma Rollrasen Sprieß bietet drei verschiedene Rollrasen an:

Sportrasen, der besonders strapazierfähig ist (1,99 €/m²)

Premiumrasen mit besonders dichtem und kräftigem Wuchs (2,45 €/m²)

Schattenrasen, der auch auf dauerhaft im Schatten liegenden Flächen gut wächst (3,45 €/m²)

Bislang beliefert Rollrasen Sprieß nur Firmenkunden, die wiederum den Rollrasen für ihre eigenen Kunden bestellen und ihn in deren Auftrag verlegen. Jeder Firmenkunde hat einen eindeutigen Firmennamen, eine Adresse und einen Ansprechpartner (Anrede, Vorname, Nachname, Telefon).

Die Firmenkunden bestellen Rollrasen in den gewünschten Mengen an eine Lieferadresse ihres Kunden zu einem bestimmten Wunschtermin. Jeder Firmenkunde ist einer bestimmten Rabattstufe zugeordnet und erhält entsprechenden Nachlass bei Bestellungen.

Rollrasen Sprieß verwaltet alle Daten rund um das Geschäft mithilfe einer Datenbank. Das unvollständige ER-Diagramm dieser Datenbank ist im Material gegeben.

Material: Unvollständiges ER-Diagramm

Erläutern Sie den Aufbau und die inhaltliche Bedeutung der folgenden SQL-Anweisungen:

4.1

SELECT DISTINCT PLZ, Ort

FROM Lieferadresse

WHERE Firmenname = 'Rasenfix'

ORDER BY PLZ

(3 BE)

4.2

SELECT Bezeichnung, SUM(Menge) AS Gesamt

FROM besteht_aus, Bestellung

WHERE besteht_aus.Bestellnr = Bestellung.Bestellnr

AND Bestelldatum >= '2019-01-01'

AND Bestelldatum <= '2019-12-31'

GROUP BY Bezeichnung

(4 BE)

Aufgabe Vorschlag B2 - Aufgabe 5 · SQL-Abfragen und -Anweisungen

Rollrasen

Rollrasen – auch bekannt als Fertigrasen – wird auf großen Anbauflächen gesät und großgezogen, bevor er für den Verkauf geschält und zu Rollen aufgewickelt wird. Das Verlegen kann von Fachfirmen, aber ebenso von Privatpersonen einfach und schnell erfolgen.

Die Firma Rollrasen Sprieß bietet drei verschiedene Rollrasen an:

Sportrasen, der besonders strapazierfähig ist (1,99 €/m²)

Premiumrasen mit besonders dichtem und kräftigem Wuchs (2,45 €/m²)

Schattenrasen, der auch auf dauerhaft im Schatten liegenden Flächen gut wächst (3,45 €/m²)

Bislang beliefert Rollrasen Sprieß nur Firmenkunden, die wiederum den Rollrasen für ihre eigenen Kunden bestellen und ihn in deren Auftrag verlegen. Jeder Firmenkunde hat einen eindeutigen Firmennamen, eine Adresse und einen Ansprechpartner (Anrede, Vorname, Nachname, Telefon).

Die Firmenkunden bestellen Rollrasen in den gewünschten Mengen an eine Lieferadresse ihres Kunden zu einem bestimmten Wunschtermin. Jeder Firmenkunde ist einer bestimmten Rabattstufe zugeordnet und erhält entsprechenden Nachlass bei Bestellungen.

Rollrasen Sprieß verwaltet alle Daten rund um das Geschäft mithilfe einer Datenbank. Das unvollständige ER-Diagramm dieser Datenbank ist im Material gegeben.

Material: Unvollständiges ER-Diagramm

Implementieren Sie SQL-Anweisungen, welche folgende Ausgabetabellen liefern:

5.1

Eine alphabetisch aufsteigend nach Firmennamen geordnete Tabelle aller Firmenkunden (Firmenname mit dem Namen des Ansprechpartners und dessen Telefonnummer) aus Hamburg.

(2 BE)

5.2

Eine Tabelle aller Rollrasenbestellungen (Bestellnr, Wunschtermin), die laut Wunschtermin nach dem 01.01.2021 an eine Lieferadresse geliefert werden sollen, deren Postleitzahl mit einer 6 beginnt.

(3 BE)

Aufgabe Vorschlag B2 - Aufgabe 6 · Relationenalgebra

Rollrasen

Rollrasen – auch bekannt als Fertigrasen – wird auf großen Anbauflächen gesät und großgezogen, bevor er für den Verkauf geschält und zu Rollen aufgewickelt wird. Das Verlegen kann von Fachfirmen, aber ebenso von Privatpersonen einfach und schnell erfolgen.

Die Firma Rollrasen Sprieß bietet drei verschiedene Rollrasen an:

Sportrasen, der besonders strapazierfähig ist (1,99 €/m²)

Premiumrasen mit besonders dichtem und kräftigem Wuchs (2,45 €/m²)

Schattenrasen, der auch auf dauerhaft im Schatten liegenden Flächen gut wächst (3,45 €/m²)

Bislang beliefert Rollrasen Sprieß nur Firmenkunden, die wiederum den Rollrasen für ihre eigenen Kunden bestellen und ihn in deren Auftrag verlegen. Jeder Firmenkunde hat einen eindeutigen Firmennamen, eine Adresse und einen Ansprechpartner (Anrede, Vorname, Nachname, Telefon).

Die Firmenkunden bestellen Rollrasen in den gewünschten Mengen an eine Lieferadresse ihres Kunden zu einem bestimmten Wunschtermin. Jeder Firmenkunde ist einer bestimmten Rabattstufe zugeordnet und erhält entsprechenden Nachlass bei Bestellungen.

Rollrasen Sprieß verwaltet alle Daten rund um das Geschäft mithilfe einer Datenbank. Das unvollständige ER-Diagramm dieser Datenbank ist im Material gegeben.

Material: Unvollständiges ER-Diagramm

Erläutern Sie den Aufbau und die inhaltliche Bedeutung der folgenden Terme der Relationenalgebra:

6.1

πBestellnr(σBestelldatum=’2020-03-18’(Bestellung))\pi_{\text{Bestellnr}}(\sigma_{\text{Bestelldatum} = \text{'2020-03-18'}}(\text{Bestellung}))

(2 BE)

6.2

πAnrede, Nachname, Telefon(σBestellnr=1234(Firmenkunde⋈Bestellung))\pi_{\text{Anrede, Nachname, Telefon}}(\sigma_{\text{Bestellnr} = 1234}(\text{Firmenkunde} \bowtie \text{Bestellung}))

(2 BE)

Aufgabe Vorschlag B2 - Aufgabe 7 · Relationenalgebra

Rollrasen

Rollrasen – auch bekannt als Fertigrasen – wird auf großen Anbauflächen gesät und großgezogen, bevor er für den Verkauf geschält und zu Rollen aufgewickelt wird. Das Verlegen kann von Fachfirmen, aber ebenso von Privatpersonen einfach und schnell erfolgen.

Die Firma Rollrasen Sprieß bietet drei verschiedene Rollrasen an:

Sportrasen, der besonders strapazierfähig ist (1,99 €/m²)

Premiumrasen mit besonders dichtem und kräftigem Wuchs (2,45 €/m²)

Schattenrasen, der auch auf dauerhaft im Schatten liegenden Flächen gut wächst (3,45 €/m²)

Bislang beliefert Rollrasen Sprieß nur Firmenkunden, die wiederum den Rollrasen für ihre eigenen Kunden bestellen und ihn in deren Auftrag verlegen. Jeder Firmenkunde hat einen eindeutigen Firmennamen, eine Adresse und einen Ansprechpartner (Anrede, Vorname, Nachname, Telefon).

Die Firmenkunden bestellen Rollrasen in den gewünschten Mengen an eine Lieferadresse ihres Kunden zu einem bestimmten Wunschtermin. Jeder Firmenkunde ist einer bestimmten Rabattstufe zugeordnet und erhält entsprechenden Nachlass bei Bestellungen.

Rollrasen Sprieß verwaltet alle Daten rund um das Geschäft mithilfe einer Datenbank. Das unvollständige ER-Diagramm dieser Datenbank ist im Material gegeben.

Material: Unvollständiges ER-Diagramm

Es sollen Firmennamen und Telefonnummern der Firmenkunden bestimmt werden, die an eine Frau Schmidt geliefert haben. Dazu wurde der folgende Term der Relationenalgebra aufgestellt:

πFirmenname, Telefon(σAnrede = ’Frau’ and Nachname = ’Schmidt’(Firmenkunde⋈Lieferadresse))\pi_{\text{Firmenname, Telefon}}(\sigma_{\text{Anrede = 'Frau' and Nachname = 'Schmidt'}}(\text{Firmenkunde} \bowtie \text{Lieferadresse}))

7.1

Erläutern Sie ausgehend von der Definition des Natural Joins, dass dieser Term nicht die gewünschten Daten liefert. [4 BE]

7.2

Geben Sie einen Term an, der die gewünschten Daten liefert. [2 BE]

Aufgabe Vorschlag B2 - Aufgabe 8 · ER-Modell und Relationenmodell

Rollrasen

Rollrasen – auch bekannt als Fertigrasen – wird auf großen Anbauflächen gesät und großgezogen, bevor er für den Verkauf geschält und zu Rollen aufgewickelt wird. Das Verlegen kann von Fachfirmen, aber ebenso von Privatpersonen einfach und schnell erfolgen.

Die Firma Rollrasen Sprieß bietet drei verschiedene Rollrasen an:

Sportrasen, der besonders strapazierfähig ist (1,99 €/m²)

Premiumrasen mit besonders dichtem und kräftigem Wuchs (2,45 €/m²)

Schattenrasen, der auch auf dauerhaft im Schatten liegenden Flächen gut wächst (3,45 €/m²)

Bislang beliefert Rollrasen Sprieß nur Firmenkunden, die wiederum den Rollrasen für ihre eigenen Kunden bestellen und ihn in deren Auftrag verlegen. Jeder Firmenkunde hat einen eindeutigen Firmennamen, eine Adresse und einen Ansprechpartner (Anrede, Vorname, Nachname, Telefon).

Die Firmenkunden bestellen Rollrasen in den gewünschten Mengen an eine Lieferadresse ihres Kunden zu einem bestimmten Wunschtermin. Jeder Firmenkunde ist einer bestimmten Rabattstufe zugeordnet und erhält entsprechenden Nachlass bei Bestellungen.

Rollrasen Sprieß verwaltet alle Daten rund um das Geschäft mithilfe einer Datenbank. Das unvollständige ER-Diagramm dieser Datenbank ist im Material gegeben.

Material: Unvollständiges ER-Diagramm

Rollrasen Sprieß möchte das Geschäft auch für Privatkunden öffnen. Dabei sollen die folgenden Aspekte berücksichtigt werden:

Von Privatkunden werden Anrede, Vorname, Nachname, Telefonnummer und Adresse gespeichert.

Privatkunden müssen grundsätzlich per Bankeinzug bezahlen. Dazu wird für jeden Privatkunden eine Bankverbindung (BIC und IBAN) in der Datenbank gespeichert.

Privatkunden werden keiner Rabattstufe zugeordnet.

Privatkunden können ebenso wie Firmenkunden verschiedene Lieferadressen haben.

Um die Privatkunden in der gleichen Datenbank wie die Firmenkunden verwalten zu können, muss die bisherige Datenbank angepasst werden. Dazu wird eine neue Relation Kunde eingeführt:

Kunde ( Kundennr, Kundenart, Anrede, Vorname, Nachname, Telefon, StraßenNr, PLZ, Ort)

Im Attribut Kundenart wird gespeichert, ob es sich um einen Firmenkunden oder einen Privatkunden handelt. Außerdem wird eine neue Relation Privatkunde eingeführt.

8.1

Geben Sie die Relation Privatkunde mit Kennzeichnung der Primär- und Fremdschlüssel an. [2 BE]

8.2

Beschreiben Sie alle Veränderungen, die an anderen Relationen vorgenommen werden müssen. [3 BE]

Aufgabe Vorschlag B3 - Aufgabe 1 · Grammatiken, reguläre Ausdrücke und Syntaxdiagramme

Gutscheincodes

In vielen Online-Shops ist es möglich, durch die Eingabe von Gutscheincodes Rabatte zu erhalten. Um die Gültigkeit leicht überprüfen zu können, sind Gutscheincodes nach bestimmten Mustern aufgebaut. In Material 1 ist das Zustandsdiagramm eines Akzeptors gegeben, der gültige Gutscheincodes des Online-Shops InfoTools erkennt.

Material 1

Endlicher Automat für Gutschein-Codes

1.1

Erläutern Sie die Regeln, nach denen Gutscheincodes des Online-Shops InfoTools aufgebaut sind.

(4 BE)

1.2

Geben Sie einen gültigen und einen ungültigen Gutscheincode an, der jeweils aus mindestens sechs Zeichen besteht.

(2 BE)

Aufgabe Vorschlag B3 - Aufgabe 2 · Endliche Automaten

Gutscheincodes

In vielen Online-Shops ist es möglich, durch die Eingabe von Gutscheincodes Rabatte zu erhalten. Um die Gültigkeit leicht überprüfen zu können, sind Gutscheincodes nach bestimmten Mustern aufgebaut. In Material 1 ist das Zustandsdiagramm eines Akzeptors gegeben, der gültige Gutscheincodes des Online-Shops InfoTools erkennt.

Material 1

Endlicher Automat für Gutschein-Codes

Geben Sie die Bestandteile des Akzeptors an, dessen Zustandsdiagramm in Material 1 dargestellt ist. Stellen Sie dabei die Überführungsfunktion in Form einer Übergangstabelle dar. (5 BE)

Zustand · A..Z · - · 1..9 · 0

Aufgabe Vorschlag B3 - Aufgabe 3 · Grammatiken, reguläre Ausdrücke und Syntaxdiagramme

Gutscheincodes

In vielen Online-Shops ist es möglich, durch die Eingabe von Gutscheincodes Rabatte zu erhalten. Um die Gültigkeit leicht überprüfen zu können, sind Gutscheincodes nach bestimmten Mustern aufgebaut. In Material 1 ist das Zustandsdiagramm eines Akzeptors gegeben, der gültige Gutscheincodes des Online-Shops InfoTools erkennt.

Material 1

Endlicher Automat für Gutschein-Codes

3.1

Entwerfen Sie eine reguläre Grammatik für die Sprache der gültigen Gutscheincodes. [5 BE]

3.2

Geben Sie eine Ableitung für Ihren gültigen Gutscheincode aus Aufgabe 1.2 mit Ihrer Grammatik an. [2 BE]

Aufgabe Vorschlag B3 - Aufgabe 4 · Grammatiken, reguläre Ausdrücke und Syntaxdiagramme

Gutscheincodes

In vielen Online-Shops ist es möglich, durch die Eingabe von Gutscheincodes Rabatte zu erhalten. Um die Gültigkeit leicht überprüfen zu können, sind Gutscheincodes nach bestimmten Mustern aufgebaut. In Material 1 ist das Zustandsdiagramm eines Akzeptors gegeben, der gültige Gutscheincodes des Online-Shops InfoTools erkennt.

Material 1

Endlicher Automat für Gutschein-Codes

Zeichnen Sie Syntaxdiagramme, die gültige Gutscheincodes beschreiben. [5 BE]

Aufgabe Vorschlag B3 - Aufgabe 5 · Sortieren, Suchen und Laufzeit

Gutscheincodes

In vielen Online-Shops ist es möglich, durch die Eingabe von Gutscheincodes Rabatte zu erhalten. Um die Gültigkeit leicht überprüfen zu können, sind Gutscheincodes nach bestimmten Mustern aufgebaut. In Material 1 ist das Zustandsdiagramm eines Akzeptors gegeben, der gültige Gutscheincodes des Online-Shops InfoTools erkennt.

Material 1

Endlicher Automat für Gutschein-Codes

5 Um Fehleingaben in Online-Formularen erkennen zu können, soll die letzte Ziffer des Gutscheincodes als Prüfziffer verwendet werden. Zur Berechnung der Prüfziffer werden die ASCII-Codes aller vor der Prüfziffer stehenden Ziffern und Buchstaben addiert und die resultierende Summe durch 10 dividiert. Der ganzzahlige Rest dieser Division ergibt die Prüfziffer.

Material 2: Tabelle zur Ermittlung des ASCII-Codes

+

0

1

2

3

4

5

6

7

8

9

30 · · · · ! · " · # · $ · % · & · '

40 · ( ·) · * · + ·, · - ·. · / · 0 · 1

50 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 ·: ·;

60 · < · = · > · ? · @ · A · B · C · D · E

70 · F · G · H · I · J · K · L · M · N · O

80 · P · Q · R · S · T · U · V · W · X · Y

90 · Z · [ · \ · ] · ^ · _ · ` · a · b · c

100 · d · e · f · g · h · i · j · k · l · m

110 · n · o · p · q · r · s · t · u · v · w

120 · x · y · z · { · | · } · ~

Beispiel: Das Zeichen A hat den ASCII-Code 65.

5.1

Prüfen Sie unter Verwendung von Material 2, ob OA-SH74-6 ein Gutscheincode mit korrekter Prüfziffer ist. [3 BE]

5.2

Bestimmen Sie für einen Gutscheincode, der inklusive der Bindestriche und Prüfziffer mm Zeichen enthält, die Anzahl der notwendigen Rechenoperationen zum Berechnen der Prüfziffer. [2 BE]

5.3

ZA-B532-5 ist ein Gutscheincode mit gültiger Prüfziffer, der vom Online-Shop InfoTools erzeugt und an einen Käufer verschickt wurde. Erläutern Sie anhand der vom Käufer getätigten Fehleingaben ZA-B235-5 und YA-C532-5 die Problematik dieses Prüfziffernverfahrens. [3 BE]

Aufgabe Vorschlag B3 - Aufgabe 6 · Sortieren, Suchen und Laufzeit

Gutscheincodes

In vielen Online-Shops ist es möglich, durch die Eingabe von Gutscheincodes Rabatte zu erhalten. Um die Gültigkeit leicht überprüfen zu können, sind Gutscheincodes nach bestimmten Mustern aufgebaut. In Material 1 ist das Zustandsdiagramm eines Akzeptors gegeben, der gültige Gutscheincodes des Online-Shops InfoTools erkennt.

Material 1

Endlicher Automat für Gutschein-Codes

Um das Verfahren sicherer gegen Fehleingaben zu machen, wird der Algorithmus aus Material 3 verwendet. Dabei wird ein Gutscheincode ohne die Bindestriche und die Prüfziffer in ein Feld von nn Zeichen, beginnend beim Index 1, kopiert.

Material 3: Algorithmus zu Aufgabe 6

6.1

Bestimmen Sie die Anzahl der Rechenoperationen, die zur Berechnung der Prüfziffer im Gutscheincode AB-12-7 notwendig sind. [3 BE]

6.2

Begründen Sie, dass der Algorithmus quadratisches Laufzeitverhalten bezüglich der Länge nn des Feldes hat. [3 BE]

6.3

Erläutern Sie, warum der angegebene Algorithmus nicht alle Fehleingaben, die durch das Vertauschen der ersten beiden Zeichen entstehen, erkennen kann. Geben Sie ein Beispiel an, bei dem diese Vertauschung nicht erkannt wird. [3 BE]

Du kannst auch nach Themen lernen

Übe ein Thema mit gemischten Aufgaben aus den Prüfungen aller Jahre.

Alle 11 Themen ansehen

Andere Prüfungen 2021

LK (2021)