PDF dokument koji pokriva kompletno gradivo koje se ... - Glavna
PDF dokument koji pokriva kompletno gradivo koje se ... - Glavna
PDF dokument koji pokriva kompletno gradivo koje se ... - Glavna
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Elektrotehnički fakultet Univerziteta u Beogradu Programiranje 1<br />
Zadatak IZ 2006-11-31 (Kolokvijum 2006)<br />
Data je sintaksna definicija u BNF notaciji: ::= 0 | 0101 | 1<br />
Koji od sledećih nizova odgovara datoj sintaksnoj definiciji<br />
A) 1001001 B) 0100001 (C) 0101001<br />
Zadatak IZ10<br />
Koja od navedenih sintaksnih definicija ispravno definiše skup malih slova (na primer: ['a','c','s'..'w'])<br />
pod pretpostavkom da ne treba da <strong>se</strong> definiše malo slovo<br />
A) u BNF notaciji<br />
::= []<br />
::= |,<br />
:: ''|''..''<br />
B) u EBNF notaciji<br />
Skup_MS = "[" Niz "]".<br />
Niz = [ Elem { "," Elem }].<br />
Elem = ( "'" MS "'" | "'" MS "'..'" MS "'").<br />
C) U notaciji sa zagradama:<br />
<br />
' ms ' <br />
skup_ms <br />
...<br />
<br />
<br />
' ms '..' ms ' <br />
Rešenje:<br />
Odgovor pod A) je neispravan, jer ne omogućava definisanje praznog skupa, jer lista navedena<br />
između srednjih zagrada mora da sadrži bar jedan element. Trebalo bi:<br />
::= []|[]<br />
::= |,<br />
:: ''|''..''<br />
Odgovor pod B) je ispravan, jer po EBNF notaciji ono što je između zagrada [ ] može da <strong>se</strong> izostavi,<br />
ili pojavi jednom, pa je moguće definisati i prazan i neprazan skup. Neprazan skup ima samo jedan<br />
element ili više elemenata razdvojenih zarezom, što je omogućeno korišćenjem zagrada { }, <strong>koje</strong><br />
znače da <strong>se</strong> ono što je između njih navedeno može pojaviti 0, 1 ili više puta. Element može biti slovo<br />
ili op<strong>se</strong>g slova. Apostrof <strong>se</strong> pojavljuje kao terminalni simbol pa <strong>se</strong> navodi pod navodnicima, po<br />
pravilima EBNF notacije.<br />
Odgovor pod C) je neispravan, jer <strong>se</strong> nigde srednje zagrade ne pojavljuju kao terminalni simboli.<br />
Takođe <strong>se</strong> nigde ne pojavljuje zarez <strong>koji</strong>m <strong>se</strong> razdvajaju elementi skupa. Trebalo bi:<br />
<br />
' ms ' ' ms ' <br />
<br />
skup_ms [ <br />
,<br />
<br />
<br />
... ]<br />
<br />
' ms '..' ms ' ' ms '..' ms ' <br />
<br />
Skup možemo definisati i korišćenjem sintaksnih dijagrama:<br />
skup malih<br />
slova<br />
[ ]<br />
'<br />
m s<br />
'<br />
'<br />
m s<br />
' .. '<br />
m s<br />
'<br />
,<br />
Odgovor:B<br />
Materijal za vežbe na tabli i pripremu ispita Strana 36 od 82