Übungsaufgaben
Zehn Übungen zum Planen, Ausfüllen, Reparieren und Entwerfen — von AFB I bis AFB III. Jede Übung gibt sofort Rückmeldung; wenn Sie nicht weiterkommen, helfen die gestuften Tipps.
Sara soll einen DEA für Variablennamen entwickeln. Stellen Sie ihr Vorgehen in der richtigen Reihenfolge dar.
Ein Variablenname (Bezeichner) beginnt mit einem Buchstaben, danach folgen beliebig viele Buchstaben oder Ziffern. Nennen Sie alle Informationen, die ein DEA für Bezeichner beim Lesen im Gedächtnis behalten muss.
Bevor der Automat gebaut wird, legt man Testwörter fest. Ordnen Sie jedes Wort zu: Muss ein korrekter Bezeichner-DEA es annehmen oder ablehnen?
x ist der kürzeste gültige Bezeichner — ein wichtiger Grenzfall. Das leere Wort ist kein Bezeichner, der Startzustand darf also kein Endzustand sein. Typischer Fehler: 7up annehmen, weil danach Buchstaben folgen. Entscheidend ist allein das erste Zeichen.Geben Sie zu jeder Aussage über den Entwurf eines DEA an, ob sie stimmt.
Ein DEA soll Dezimalzahlen wie 3,14, 12 oder 0,05 erkennen: mindestens eine Ziffer, danach optional ein Komma mit mindestens einer weiteren Ziffer. Die Zustände und ihre Bedeutungen stehen fest. Erstellen Sie die Übergangstabelle.
z2 oder zF). Die Zeile von zF ist vorgegeben. Enter in einem Feld prüft ebenfalls.| Zustand — Bedeutung | Ziffer | Komma |
|---|---|---|
| z0 — noch nichts gelesen (Start) | ||
| z1 — Ziffern vor dem Komma (Endzustand) | ||
| z2 — Komma gelesen | ||
| z3 — Ziffern nach dem Komma (Endzustand) | ||
| zF — Fehlerzustand | zF | zF |
3,14 z0 → z1 → z2 → z3 → z3 (angenommen), ,5 z0 → zF (abgelehnt), 7, endet in z2 (abgelehnt), 1,2,3 gerät beim zweiten Komma in zF. Typischer Fehler: δ(z3, Komma) = z2 setzen. Dann würde 1,2,3 angenommen — eine Zahl hat aber nur ein Komma.Für jede Sprache über \(\Sigma=\{a,\,b\}\) braucht der DEA ein anderes Gedächtnis. Bestimmen Sie zu jeder Sprache, welche Zustände (mit Bedeutung) ein möglichst kleiner DEA hat, und verbinden Sie beide.
Lena entwirft einen DEA für E-Mail-Adressen in Kurzform wie max@schule.de: mindestens ein Buchstabe, dann @, mindestens ein Buchstabe, genau ein Punkt, mindestens ein Buchstabe. Sie verwendet \(\Sigma=\{b,\,@,\,.\}\), wobei b für einen Buchstaben steht. Überprüfen Sie ihre Einträge — drei sind falsch.
| Zustand | Bedeutung |
|---|---|
| z0 | noch nichts gelesen |
| z1 | Name vor dem @ |
| z2 | @ gelesen |
| z3 | Domain nach dem @ |
| z4 | Punkt gelesen |
| z5 | Endung nach dem Punkt |
| zF | Fehlerzustand |
max@.de prüft z2, a@b.c prüft den Weg über z4 nach z5, a@b.c.d prüft z5. Typischer Fehler: Übergänge „nach Gefühl“ auf bekannte Adressen wie a@b.c.d anpassen, statt sich an die Vorgabe zu halten.a@b.c durch. Kommt der Automat in z5 an? Und was soll nach der Endung bei einem weiteren Punkt passieren?In Java schreibt man Binärzahlen als Literal mit dem Präfix 0b, etwa 0b1011 (Kapitel Codierung). Ein DEA über \(\Sigma=\{0,\,1,\,b\}\) soll genau die Wörter 0b gefolgt von mindestens einer Binärziffer akzeptieren. Bedeutungen: z0 Anfang, z1 „0 gelesen“, z2 „0b gelesen“, z3 „mindestens eine Binärziffer“. Ergänzen Sie die Tabelle um die fehlenden Einträge.
| Zustand | 0 | 1 | b |
|---|---|---|---|
| z0 | ? | ? | zF |
| z1 | zF | ? | ? |
| z2 | z3 | z3 | ? |
| z3 | ? | z3 | ? |
| zF | zF | zF | zF |
δ(z0, 0) =
δ(z0, 1) =
δ(z1, 1) =
δ(z1, b) =
δ(z2, b) =
δ(z3, 0) =
δ(z3, b) =
Endzustand:
Wert des Literals 0b1011 im Dezimalsystem:
0b ist es aber kein Binärliteral.0b lauten — erst danach dürfen Binärziffern kommen.Ein vollständiger DEA über \(\Sigma=\{a,\,b\}\) soll genau die Wörter mit höchstens 1000 Zeichen akzeptieren. Ermitteln Sie, wie viele Zustände er mindestens braucht.
Vereinfachte Kennzeichen wie OS-AB123: 1 bis 3 Buchstaben, ein Bindestrich, 1 oder 2 Buchstaben, dann 1 bis 4 Ziffern. Alphabet: \(\Sigma=\{B,\,-,\,Z\}\) mit B = Buchstabe, Z = Ziffer. Entwerfen Sie gedanklich einen möglichst kleinen vollständigen DEA und beantworten Sie die Fragen.
- Zustände für den Teil vor dem Bindestrich (nach 1, 2, 3 Buchstaben)
- Alle Zustände ohne Fehlerzustand, Startzustand mitgezählt
- Davon Endzustände
- Übergänge im vollständigen DEA mit Fehlerzustand
- Wie viele dieser Übergänge enden in zF?
OSNA-B1 und längere Unterscheidungszeichen angenommen.