Übungen
Aufgabe 1 - Frohlocken
Die himmlische Sprache Frohlocken
wird durch folgende Syntaxdiagramme festgelegt:
Bilde verschiedene Wörter, die zur himmlischen Sprache Frohlocken
gehören.
Aufgabe 2 - Python-Binärzahl
Binärzahlen lassen sich in Python ganz einfach angeben.
Gültige Beispiele für eine Binärzahl in Python:
0b101010 +0b10 -0b0110
Erstelle ein Syntaxdiagramm für die Festlegung solcher Binärzahlen. Achte darauf, dass du das Diagramm sinnvoll unterteilst!
Recherchiere, wie Hexadezimalzahlen in Python dargestellt werden. Erweitere dein Syntaxdiagramm, so dass es für beide Zahltypen gilt.
Aufgabe 3 - ipigisi
Die ipigisi-Sprache
wird im Abschnitt
Beispiel - Ein Sprachenrätsel
erläutert.
(a) Eine isi-Folge
ist eine Folge von i
-Symbolen, bei der jeweils benachbarte i
-Symbole durch
ein s
getrennt sind: i, isi, isisi, ....
Entwickle ein Syntaxdiagramm zur Beschreibung von isi-Folgen
.
(b) Eine ipigisi-Folge
hat die Struktur isi-Folge p isi-Folge g isi-Folge
.
Beispiele für solche ipigisi-Folgen
sind: ipigi, ipigisi, isipigisi, isipisigisi, ....
Entwickle Syntaxdiagramme zur Beschreibung von ipigisi-Folgen
.
(c) Ein mathematisch korrekter ipigisi-Ausdruck
ist eine ipigisi-Folge
, bei der die Summe der
i
-Symbole vor und nach dem g
-Symbol gleich sind.
Kann man mathematisch korrekte ipigisi-Ausdrücke
mit Hilfe von Syntaxdiagrammen beschreiben?
Aufgabe 4 - E-Mail-Adressen
Wir betrachten hier vereinfachte E-Mail-Adressen, in denen nur die Symbole b, @ und . vorkommen dürfen.
Beispiel: bb@b.bbb
Folgende Regeln sollen zur Bildung solcher E-Mail-Adressen beachtet werden:
- Eine vereinfachte E-Mail-Adresse besteht aus einem User-Namen gefolgt vom @-Symbol und einer Domain-Angabe.
- Der User-Name soll nur aus b´s bestehen.
- Die Domainangabe soll aus Subdomains aufgebaut sein, die jeweils mit einem Punkt getrennt werden.
- Eine Subdomain besteht nur aus b´s.
(a) Warum ist die textuelle Beschreibung der Regeln zur Bildung vereinfachter E-Mail-Adressen noch zu ungenau? Erläutere anhand von Beispielen.
(b) Präzisiere die Sprache der vereinfachten E-Mail-Adressen mit Syntaxdiagrammen. Beachte, dass dabei auch Festlegungen getroffen werden müssen, die in der textuellen Regelbeschreibung noch zu ungenau sind.