Aufgabe Vorschlag C2 - Aufgabe 1 · Abitur Hessen Informatik LK 2022

Thema: Grammatiken, reguläre Ausdrücke und Syntaxdiagramme · Aus der Prüfung LK (2022)

Aufgabenstellung

Auszeichnungssprache YAML

YAML ist eine Auszeichnungssprache zur Darstellung strukturierter Daten in einfach lesbarer Textform. Die Sprache zeichnet sich dadurch aus, dass sie jede Datenstruktur allein durch Verwendung von Konstanten, Listen und assoziativen Listen darstellen kann. Elemente von Listen und assoziativen Listen werden durch Zeilenumbrüche (<CR> <LF>) getrennt dargestellt. Dabei besitzen diese Elemente in aufeinanderfolgenden Zeilen die gleiche Einrückung. Elemente einer Liste beginnen mit dem Zeichen „-“ und Elemente einer assoziativen Liste bestehen aus einem Schlüssel:Wert-Paar. Listen und assoziative Listen enthalten jeweils nur gleichartige Listenelemente (Material 1).

Alle Elemente einer Liste und alle Werte einer assoziativen Liste können entweder Konstanten oder auch wieder Listen oder assoziative Listen sein. In den beiden letztgenannten Fällen spricht man dann von geschachtelten Listen. Die Schachtelung wird durch einen Zeilenumbruch und eine Einrückung mit Leerzeichen (<SP>) dargestellt (Material 1).

Material 1

Beispiel von Listen und assoziativen Listen in YAML

Liste

assoziative Liste

- Apfel

- Banane

- Karotte

Name: Frank

Alter: 19

Sport: Fußball

geschachtelte Liste

geschachtelte assoziative Liste

assoziative Liste mit einer Liste als Wert

- HTML

-

- Überschrift H1

- Absatz p

- CSS

- JavaScript

Datum: 2021 05 17

Name: Lisa

Adresse:

Straße: Allee 17

PLZ: 64646

Ort: Heppenheim

Datum: 2021 05 17

Name: Frank

Interessen:

- Sport

- Politik

Alter: 19

Material 2

YAML-Texte

a

b

Datum: 2021 04 05

RechnungNr: 7266

Produkt:

-

Beschreibung: Basketball

Preis: 86

Menge: 4

-

Beschreibung: Hantel

Preis: 48

Menge: 2

-

Name: Martin Schmidt

Anstellung: Entwickler

Fachkompetenz:

- Python

- Java

- Pascal

-

Name: Tabitha Bitumen

Anstellung: Entwicklerin

Fachkompetenzen:

- Lisp

- Fortran

- Erlang

Material 3

Text in einer Konfigurationsdatei

packages:

yum:

mod_ssl: false

files:

servercrt:

mod: 000400

owner: admin

- group root

script:

- cd tools

- tox ecover

Material 4

Unvollständige Grammatik G zur Sprache YAML

T={<CR>,<LF>,<SP>,<INDENT>,<DEDENT>,-,:, true, false, null,0,…,9,a,…,z,A,…,Z}T = \{<\text{CR}>, <\text{LF}>, <\text{SP}>, <\text{INDENT}>, <\text{DEDENT}>, \text{-,:, true, false, null}, 0, \dots, 9, a, \dots, z, A, \dots, Z\}

N={YAML,Liste,Element,AssoziativeListe,Schlu¨ssel,Wert,Konstante,Zeichenkette,Zeichenketten,Zahl}N = \{\text{YAML}, \text{Liste}, \text{Element}, \text{AssoziativeListe}, \text{Schlüssel}, \text{Wert}, \text{Konstante}, \text{Zeichenkette}, \text{Zeichenketten}, \text{Zahl}\}

Startsymbol=YAML\text{Startsymbol} = \text{YAML}

$\begin{aligned}

P = \{ & \text{YAML} & \to & \ \text{Liste} \mid \text{AssoziativeListe}, \\

& \text{Liste} & \to & \ \text{Element } <\text{CR}> <\text{LF}> \mid \text{Element } <\text{CR}> <\text{LF}> \text{Liste}, \\

& \text{AssoziativeListe} & \to & \ \text{Schlüssel}: <\text{SP}> \text{Wert } <\text{CR}> <\text{LF}> \mid \\

& & & \ \text{Schlüssel}: <\text{SP}> \text{Wert } <\text{CR}> <\text{LF}> \text{AssoziativeListe}, \\

& \text{Element} & \to & \ \text{- } <\text{SP}> \text{Wert}, \\

& \text{Schlüssel} & \to & \ \text{Zeichenkette}, \\

& \text{Wert} & \to & \ \text{Konstante} \mid <\text{CR}> <\text{LF}> <\text{INDENT}> \text{Liste } <\text{DEDENT}> \mid \\

& & & \ <\text{CR}> <\text{LF}> <\text{INDENT}> \text{AssoziativeListe } <\text{DEDENT}>, \\

& \text{Konstante} & \to & \ \text{Zeichenketten} \mid \text{Zahl} \mid \text{true} \mid \text{false} \mid \text{null}, \\

& \text{Zeichenketten} & \to & \ \text{Zeichenkette} \mid \text{Zeichenkette } <\text{SP}> \text{Zeichenketten}, \\

& \dots \\

\} & & &

\end{aligned}$

Hinweis: Die Terminale <INDENT> und <DEDENT> stehen für eine Ein- bzw. Ausrückung.

Aufgaben

1.1

Erläutern Sie die Struktur der zwei YAML-Texte in Material 2. [4 BE]

1.2

In einer Konfigurationsdatei steht der Text aus Material 3. Entscheiden Sie, ob dies ein gültiger YAML-Text ist. [2 BE]

Aufgabenstellung: Aufgabe Vorschlag C2 - Aufgabe 1 · Abitur Hessen Informatik LK 2022

Lösung

Nach den offiziellen Korrekturhinweisen

1.1 Erläutern Sie die Struktur des YAML-Textes a in Material 2.

Lösung: Der YAML-Text a besteht aus einer assoziativen Liste mit drei Schlüssel:Wert-Paaren. Der Wert des dritten Paares besteht aus einer Liste mit zwei Elementen, die wiederum assoziative Listen mit drei Schlüssel:Wert-Paaren sind.

1.1 Erläutern Sie die Struktur des YAML-Textes b in Material 2.

Lösung: Der YAML-Text b besteht aus einer Liste mit zwei Elementen. Jedes Element ist eine assoziative Liste mit drei Schlüssel:Wert-Paaren, wobei der Wert des letzten Paares jeweils aus einer Liste mit drei Elementen besteht.

1.2 In einer Konfigurationsdatei steht der Text aus Material 3. Entscheiden Sie, ob dies ein gültiger YAML-Text ist.

Lösung: Der Text aus Material 3 ist kein gültiger YAML-Text, da der Wert des Schlüssels files aus einer Kombination von zwei Elementen einer assoziative Liste und einem Element einer Liste besteht. Listen und assoziative Listen können in YAML aber nur gleichartige Listenelemente enthalten.

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 C1 - Aufgabe 3 · LK 2022 · Aufgabe Vorschlag C2 - Aufgabe 3 · LK 2022 ›

Mehr Aufgaben zu Grammatiken, reguläre Ausdrücke und Syntaxdiagramme