faecher:informatik:oberstufe:automaten:formale_sprachen:schwedische_kennzeichen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:automaten:formale_sprachen:schwedische_kennzeichen:start [19.04.2022 16:49] sbelfaecher:informatik:oberstufe:automaten:formale_sprachen:schwedische_kennzeichen:start [29.09.2024 12:17] (aktuell) – [Grammatik aufschreiben] Frank Schiebel
Zeile 1: Zeile 1:
 +~~NOTOC~~
 +
 ====== Howto: Grammatik finden ====== ====== Howto: Grammatik finden ======
-{{ .:slp.jpg?600|}}((Bild von https://commons.wikimedia.org/wiki/File:Swedish_license_plate_2019.jpg, die Datei ist lizenziert unter der [[https://creativecommons.org/licenses/by-sa/4.0/deed.de|Creative-Commons-Lizenz "Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 international"]]. Urheber ist der Wikipedia Nutzer "Andif1"))+{{ .:slp.jpg?300|}}((Bild von https://commons.wikimedia.org/wiki/File:Swedish_license_plate_2019.jpg, die Datei ist lizenziert unter der [[https://creativecommons.org/licenses/by-sa/4.0/deed.de|Creative-Commons-Lizenz "Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 international"]]. Urheber ist der Wikipedia Nutzer "Andif1"))
 Die Kfz-Kennzeichen in Schweden (schwedisch //registreringsskyltar// für die Schilder, //registreringsnummer// für die Nummer) basieren seit 1973 auf einem überregionalen System, bei dem das Fahrzeug eine Seriennummer zugewiesen bekommt, die auch bei Besitzerwechsel beim Fahrzeug verbleiben.  Die Kfz-Kennzeichen in Schweden (schwedisch //registreringsskyltar// für die Schilder, //registreringsnummer// für die Nummer) basieren seit 1973 auf einem überregionalen System, bei dem das Fahrzeug eine Seriennummer zugewiesen bekommt, die auch bei Besitzerwechsel beim Fahrzeug verbleiben. 
  
Zeile 9: Zeile 11:
 In unserem Fall bestehen alle Worte der "Sprache" (die Kennzeichen) aus Zahlen und Buchstaben sowie einem Leerzeichen((Der Unterstrich soll für ein Leerzeichen stehen)), damit ist  **Σ={0,1,2,3,4,5,6,7,8,9,A,B,C,...,X,Y,Z,_}**.  In unserem Fall bestehen alle Worte der "Sprache" (die Kennzeichen) aus Zahlen und Buchstaben sowie einem Leerzeichen((Der Unterstrich soll für ein Leerzeichen stehen)), damit ist  **Σ={0,1,2,3,4,5,6,7,8,9,A,B,C,...,X,Y,Z,_}**. 
  
-==== Strukturanalyse: Wie werden gültige Worte aus den Terminasymbolen gebildet? ====+==== Strukturanalyse: Wie werden gültige Worte aus den Terminalsymbolen gebildet? ==== 
 + 
 +Hier wird oft bereits deutlich, welche weiteren Variablen man benötigt, um die Worte zu bilden: Bei diesem Beispiel sieht man unmittelbar ein, dass jedes Kennzeichen aus einem Buchstabenblock (''BSBlock'') mit drei Buchstaben , gefolgt von einem Leerzeichen (Terminalsymbol), gefolgt von einem weiteren Block (''ZBBlock''), der entweder aus drei Ziffern besteht oder aus zwei Ziffern und einem Buchstabe.  
 + 
 +Dann überlegt man sich, wie die Blöcke gebildet werden - möglicherweise benötigt man dazu weitere "Unterblöcke mit entsprechenden Variablen - und so weiter, bis man bei den Terminalsymbolen anlangt. 
 + 
 +In einem Syntaxdiagramm kann man das für unser Beispiel folgendermaßen darstellen (Unterstrich ist Leerzeichen):  
 + 
 +{{ :faecher:informatik:oberstufe:automaten:formale_sprachen:schwedische_kennzeichen:swkennsyn.png?600 |}} 
 + 
 +++++ Code für RR | 
 +https://rr.red-dove.com/ui 
 +<code> 
 +Kennzeichen  ::= BSBlock Leerzeichen ZBBlock  
 +Leerzeichen ::= '_' 
 +BSBlock  ::= Buchstabe Buchstabe Buchstabe 
 +ZBBlock   ::= (Ziffer Ziffer Ziffer | Ziffer Ziffer Buchstabe) 
 +Ziffer ::= ('0'|'1'|'2'|'...'|'8'|'9'
 +Buchstabe ::= ('A'|'B'|'C'|'...'|'X'|'Y'|'Z'
 +</code> 
 +++++ 
 + 
 +==== Productions P aus dem Syntaxdiagramm ableiten ==== 
 + 
 +Nun kann man die Regeln (Productions P) fast direkt ablesen:  
 + 
 +  S -> B1 _ B2 
 +  B1 -> BS BS BS 
 +  B2 -> Z Z Z | Z Z BS 
 +  BS -> A|B|C|...|X|Y|Z 
 +  Z -> 0|1|2|3|...|8|9  
 +   
 +==== Grammatik aufschreiben ==== 
 + 
 +Jetzt kann man die Grammatik formal aufschreiben:  
 + 
 +**G=(V,Σ,P,S)** mit **V={S,B1,B2,BS,Z}**, **Σ={0,1,2,3,4,5,6,7,8,9,A,B,C,…,X,Y,Z,_}** und  
 + 
 +**P = {\\ 
 +S -> B1 _ B2\\ 
 +  B1 -> BS BS BS\\ 
 +  B2 -> Z Z Z | Z Z BS \\ 
 +  BS -> A|B|C|...|X|Y|Z \\ 
 +  Z -> 0|1|2|3|...|8|9 \\  
 +  }** 
 +   
 + 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A1) === 
 + 
 +Die neue Verkehrsministerin legt fest, dass der zweite Block nicht mit einer Null beginnen darf. Passe die Grammatik entsprechend an. 
 + 
 + 
 +++++ Lösungshinweis (RR) | 
 +https://rr.red-dove.com/ 
 +<code> 
 +Kennzeichen  ::= BSBlock Leerzeichen ZBBlock  
 +Leerzeichen ::= '_' 
 +BSBlock  ::= Buchstabe Buchstabe Buchstabe 
 +ZBBlock   ::= (Ziffer ZiffNull ZiffNull | Ziffer ZiffNull Buchstabe) 
 +Ziffer ::= ('1'|'2'|'...'|'8'|'9'
 +ZiffNull ::= ('0' | Ziffer) 
 +Buchstabe ::= ('A'|'B'|'C'|'...'|'X'|'Y'|'Z'
 +</code> 
 + 
 +++++ 
 + 
  
-Hier wird oft bereits deutlich, welche weiteren Variablen man benötigt, um die Worte zu bilden: Bei diesem Beispiel sieht man unmittelbar ein, dass jedes Kennzeichen aus einem ''Buchstabenblock'' mit drei Buchstaben , gefolgt von einem Leerzeichen, gefolgt von einem weiteren ''Block'', der entweder aus drei Ziffern besteht oder aus zwei Ziffern und einem Buchstabe.  
  • faecher/informatik/oberstufe/automaten/formale_sprachen/schwedische_kennzeichen/start.1650386967.txt.gz
  • Zuletzt geändert: 19.04.2022 16:49
  • von sbel