faecher:informatik:oberstufe:automaten:formale_sprachen:roemische_zahlen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
faecher:informatik:oberstufe:automaten:formale_sprachen:roemische_zahlen:start [06.10.2020 13:32] – [Zahlengrammatik] sbelfaecher:informatik:oberstufe:automaten:formale_sprachen:roemische_zahlen:start [06.10.2020 16:22] – [Zahlengrammatik] sbel
Zeile 22: Zeile 22:
  
  
-Im folgenden ist ein Syntaxdiagramm zu sehen, um römische Zahlen von 1 bis 999 zu erzeugen - ein solches Diagramm nennt man auch Railroad-Diagramm, [[https://bottlecaps.de/rr/ui|hier]] kann man solche Diagramme erzeugen(( Um das Diagramm unten zu erzeugen, wurde die folgende Grammatik verwendet: ''RoemischeZahl ::= (| C | CC | CCC | CD | D | DC | DCC | DCCC | CM)(|X|XX|XXX|XL|L|LX|LXX|LXXX| XC)(I|II|III|IV|V|VI|VII|VIII|IX)'')).+Im folgenden ist ein Syntaxdiagramm zu sehen, um römische Zahlen von 1 bis 999 zu erzeugen - ein solches Diagramm nennt man auch Railroad-Diagramm, [[https://bottlecaps.de/rr/ui|hier]] kann man solche Diagramme erzeugen(( Um das Diagramm unten zu erzeugen, wurde die folgende Grammatik verwendet: ''RoemischeZahl ::= (| C | CC | CCC | CD | D | DC | DCC | DCCC | CM)(|X|XX|XXX|XL|L|LX|LXX|LXXX| XC)(|I|II|III|IV|V|VI|VII|VIII|IX)'')).
  
 {{ :faecher:informatik:oberstufe:automaten:formale_sprachen:roemische_zahlen:roemischezahl.png |}} {{ :faecher:informatik:oberstufe:automaten:formale_sprachen:roemische_zahlen:roemischezahl.png |}}
Zeile 32: Zeile 32:
 ===== Zahlengrammatik ===== ===== Zahlengrammatik =====
  
-Vervollständige die Grammatik für die Römischen Zahlen um Variablen (''V''), Regeln (''P'') und eine Startvariable (''S'') um die formale Beschreibung aller Zahlen von 1 bis 999 zu vervollständigen. +Gib eine Grammatik G=(V,Σ,P,S) für die Römischen Zahlen von 1 bis 999 gemäß des Syntaxdiagramm an. Was ist hier ein geschicktes Alphabet? Was sind die Variablen (''V''), Regeln (''P'') und eine Startvariable (''S'') um die formale Beschreibung aller Zahlen von 1 bis 999 zu vervollständigen. 
  
 ++++ Hilfestellung | ++++ Hilfestellung |
  
 +  * Mache dir klar, dass die einzelnen Abzweige im Sytaxdiagramm für die Hunderter, Zehner und Einer in römischer Schreibweise stehen.
 +  * Ein günstiges Alphabet besteht nur aus den Symbolen, die im Syntaxdiagramm vorkommen, ergänzt um das leere Symbol ++|''Σ={ε,C,CC,CCC,CD,D,DC,DCC,DCCC,CM,X,XX,XXX,XL,L,LX,LXX,LXXX,XC,I,II,III,IV,V,VI,VII,VIII,IX}'' Wenn du Regeln finden möchtest, die die Zahlen aus dem Alphabet mit den einzelnen Römischen Zahlzeichen erzeugen wird es komplizierter, weil du die Besonderheiten der Subtraktionsregel abbilden musst. ++
 +  * Eine Fundamentale Regel könnte damit lauten ''S -> H Z E''. Damit hat man die Startregel und weitere Variablen eingeführt. Jetzt musst du dir überlegen, wie H, Z und E aus den Symbolen des Alphabets gebildet werden.
 +++ Hunderterregel | ''H -> ε | C | CC | CCC | CD | D | DC | DCC | DCCC | CM''  ++
 +
 +++ Zehnerregel | ''Z -> ε | X | XX | XXX | XL | L | LX | LXX | LXXX | XC''  ++
 +
 +++ Einerregel | ''E -> ε | I | II | III | IV | V | VI | VII | VIII | IX''  ++
  
 ++++ ++++