Q3 Formale Sprachen

Die Sprache des Backofens

Lösung geprüft

Die Aufgabe der heutigen Stunde ist die Sprache des Backofens! Das ist der Einstieg in die formalen Sprachen, und er ist absichtlich so gewählt: ein Backofen-Display ist eine echte formale Sprache, auch wenn man da nie drüber nachdenkt. Es gibt ein festes Alphabet an Zeichen und feste Regeln, in welcher Reihenfolge sie stehen dürfen.

Die Aufgabenstellung lautet

Aufgabe 1: Welche Zeichen gehören zum Alphabet Σ der Backofensprache? Vervollständige die Menge.

Aufgabe 2: Finde das richtige Wort zum Garen des Kartoffelgratins. Anja kocht leidenschaftlich gern. Für die Zubereitung eines Kartoffelgratins soll der Backofen auf Umluft mit Grill eingestellt werden. Das Gericht soll 1 h 15 min bei 160 °C garen und um 12:30 Uhr fertig sein.

Aufgabe 3: Beschreibe und begründe, welche der folgenden Wörter syntaktisch korrekt aufgebaut und welche semantisch sinnvoll sind.

Das Display verstehen

Auf dem Display steht ein Wort wie dieses:

⊢⊣ 115   ⊣| 1230   ⚟ 160

Vier Bestandteile, jeder mit einem eigenen Symbol davor:

SymbolBedeutungIm Beispiel
⊢⊣Garzeit (Dauer)115 = 1 Stunde 15 Minuten
⊣|Endzeitpunkt1230 = 12:30 Uhr
Drehknopf-SymbolBetriebsartUmluft mit Grill
°Temperatur160 Grad

Alle Wörter auf dem Display sind nach demselben Muster gebaut: erst ein Symbol, dann die Zahl, die dazugehört – und das mehrmals hintereinander. Das Symbol sagt, was die Zahl bedeutet.

stateDiagram-v2
    direction LR
    [*] --> Symbol
    Symbol : Symbol (Garzeit, Endzeit oder Betriebsart)
    Zahl : Zahl (Dauer, Uhrzeit oder Temperatur)
    Symbol --> Zahl
    Zahl --> Symbol : noch ein Block
    Zahl --> [*] : Wort zu Ende
Wie ein Wort auf dem Backofen-Display aufgebaut ist

Die Blöcke müssen dabei nicht in einer festen Reihenfolge stehen: in Aufgabe 3 kommen beide Varianten vor – einmal steht die Betriebsart vorne, einmal hinten –, und beide gelten als syntaktisch richtig.

Aufgabe 1 – Das Alphabet Σ

Σ = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,     Ziffern fuer Zeit und Temperatur
      ⊢⊣,                                Symbol fuer die Garzeit
      ⊣|,                                Symbol fuer den Endzeitpunkt
      °,                                 Gradzeichen
      Ober-/Unterhitze,                  Betriebsarten
      Oberhitze,
      Unterhitze,
      Umluft,
      Grill,
      Umluft mit Grill }

Wichtig ist der Gedanke dahinter: das Alphabet besteht aus den kleinsten unteilbaren Zeichen der Sprache. Die 160 ist kein Zeichen des Alphabets – sie ist ein Wort, zusammengesetzt aus den drei Zeichen 1, 6 und 0.

Die Symbole für die Betriebsarten sind dagegen unteilbar. Man kann das Umluft-Symbol nicht in kleinere Teile zerlegen, es bedeutet als Ganzes „Umluft". Deshalb gehört jede Betriebsart als eigenes Zeichen ins Alphabet.

Aufgabe 2 – Das Wort für das Kartoffelgratin

⊢⊣ 115   ⊣| 1230   [Umluft mit Grill]   160°
VorgabeWird zu
1 h 15 min garen⊢⊣ 115
um 12:30 Uhr fertig⊣| 1230
Umluft mit Grilldas entsprechende Symbol am Drehknopf
bei 160 °C160°

Die Stelle, an der man aufpassen muss: 115 heißt hier nicht 115 Minuten, sondern 1 Stunde 15 Minuten. Das Display kennt keinen Doppelpunkt, die Stunden stehen einfach vorne. Bei 45 Minuten stünde da 45, bei 2 Stunden 200.

Anja muss den Ofen also um 11:15 Uhr starten – das rechnet der Ofen aber selbst aus. Genau dafür gibt es die beiden Zeitangaben nebeneinander.

Aufgabe 3 – Syntax und Semantik

Bevor es losgeht, der Unterschied, um den es in der ganzen Einheit geht:

SyntaxSemantik
FrageIst das Wort richtig gebaut?Ergibt es einen Sinn?
PrüftReihenfolge und erlaubte ZeichenBedeutung in der echten Welt
Beim OfenStehen Garzeit, Endzeit, Betriebsart und Temperatur in der richtigen Form da?Kann der Ofen das tatsächlich so?

Die Lösung zu Aufgabe 3

A) ist sowohl semantisch sinnvoll wie auch syntaktisch richtig.
   Der Backofen läuft mit Grill bei 200 Grad für 75 Minuten und
   endet um 21:00 Uhr.

B) ist semantisch nicht sinnvoll, da man nicht zugleich Umluft und
   Umluft-Grill einstellen kann.

C) ist syntaktisch richtig und semantisch sinnvoll. Der Backofen läuft
   für 76 Minuten mit 230 Grad Grill und endet um 14:15.

Warum gerade B der interessante Fall ist

A und C sind unauffällig: richtig gebaut und sinnvoll. Der ganze Witz der Aufgabe steckt in B.

Bei B ist die Syntax in Ordnung – alle Bestandteile stehen an der richtigen Stelle, alle Zeichen gehören zum Alphabet, die Zahlen sind Zahlen. Ein Programm, das nur die Form prüft, würde das Wort durchwinken.

Trotzdem ist es Unsinn: es sind zwei Betriebsarten gleichzeitig eingestellt, Umluft und Umluft-Grill. Ein echter Backofen hat einen Drehknopf, der immer nur auf einer Position stehen kann. Das Wort beschreibt also etwas, das es physikalisch nicht gibt.

flowchart TD
    W["Wort B"] --> B1["Umluft, 220 Grad"]
    W --> B2["Umluft-Grill, 2115"]
    W --> B3["Garzeit 100"]
    B1 --> K["Der Drehknopf kann nur auf einer Position stehen"]
    B2 --> K
    K --> X["semantisch nicht sinnvoll"]
Woran Wort B scheitert: zwei Betriebsarten auf einmal

Genau das ist der Kern: syntaktisch korrekt heißt nicht automatisch sinnvoll. Umgekehrt gilt aber: was syntaktisch falsch ist, kann gar nicht erst interpretiert werden – ohne Form keine Bedeutung.

Wer den Java-Teil hinter sich hat, kennt das schon. „Die Syntax stimmt, deshalb läuft das Programm durch – aber es macht nicht, was es soll" war genau die Erkenntnis beim Autohaus, als tanken und fahren noch leer waren. Semantische Fehler sind dieselbe Sorte Fehler, nur in einer anderen Sprache.

Aufgabe suchen

Tippe los. Strg+K öffnet die Suche von überall.

Zuletzt angesehen

Werbung