Formális nyelvek 16. csoport, 1. gyakorlati zárthelyi, 2011. március 16.
A
maximálisan megszerezhető pontszám 15, melyből legalább 5 pontot kell
megszerezni a sikeres teljesítéséhez.
1. Az EP
programozási nyelvben az azonosítók az angol ábécé kis és nagybetűit, decimális
jegyeket és _ jelet tartalmazhatnak a következő szabályok
szerint:
a.
Minden azonosító nagybetűvel kezdődik.
b. Az _
jelet mindig követnie kell egy nagybetűnek.
Írja le
ezt az azonosító fogalmat BNF, EBNF és szintaxis-gráfok segítségével!
(1-1
pont, összesen 3).
2. A
klózokat a következő BNF leírás segítségével definiáljuk:
<klóz>::= <elem>|
<elem>V<klóz>
<elem>::=
A|B|C|┐A |┐B|┐C
Helyes
klózok-e a leírás szerint az alábbiak?
a. ┐A V B V ┐C
b. A V ┐┐B V C
(1-1
pont, összesen 2)
3. A
teknőc grafikában F jelöli azt, hogy a toll az irányának megfelelően húz egy
egységnyi vonalat, + jelöli, hogy a toll balra fordul 90 fokkal, míg – azt,
hogy jobbra fordul 90 fokkal.
Legyen u
Î {F,+,-}* tetszőleges rajz.
a. Mikor
igaz, hogy u végrehajtása után a toll ellenkező irányba mutat, mint kezdetben?
(1 pont)
b. Mikor
igaz, hogy u végrehajtása után a toll ugyanabban a pontban lesz és a toll
ugyanabba az irányba mutat, mint kezdetben? (3 pont)
(Összesen
4 pont)
4. L1,
L2, L3, S, T valamely legalább két betűs ábécé feletti nyelvek. Igazak-e az
alábbi összefüggések (ha valamelyik irány nem teljesül, mutasson ellenpéldát)?
a.
(T*S*)* = (S*T*)* (1 pont)
b. (L1∩L2)L3
= L1L3∩ L2L3 (2 pont)
(Összesen
3 pont)
5.
Készítsen lehető legmagasabb típusú nyelvtant az alábbi nyelvhez!
L= {u; u
Î {a,b,c}* és u-ban az a betűk száma páros, biztosan a-ra végződik és nem tartalmaz két egymás utáni b betűt,
illetve két egymás utáni c betűt} (3 pont)