Elektrotehnički fakultet Univerziteta u Beogradu Programiranje 1 Zadatak IZ 2006-11-30 (Kolokvijum 2006) Čime treba zameniti #### u sledećem programu za picoComputer da bi on za učitanu pozitivnu vrednost N ispisivao sve cele brojeve veće od 1 sa <strong>koji</strong>ma je uneti broj deljiv N=1 I=2 L=3 T=4 ORG 8 IN N DIV L,N,2 MOV I,2 #### OUT I L1: ADD I,I,1 BEQ I,I,L0 L2: STOP A) BGT I,L,L2 L0: DIV T,N,I MUL T,T,I BGT N,T,L0 (B) L0: BGT I,L,L2 DIV T,N,I MUL T,T,I BGT N,T,L1 C) BGT I,L,L2 L0: DIV T,N,I MUL N,T,I BGT N,T,L1 Materijal za vežbe na tabli i pripremu ispita Strana 32 od 82
Elektrotehnički fakultet Univerziteta u Beogradu Programiranje 1 SINTAKSNE NOTACIJE - sintaksa i <strong>se</strong>mantika programskih jezika: sintaksa <strong>se</strong> bavi formalnom ispravnošću nekog iskaza na objektnom jeziku bez ulaženja u logičku ispravnost. primer: a+b*c - ispravno napisano a+c* - neispravno napisano - metajezik je niz pravila za opis sintak<strong>se</strong> objektnog jezika, tzv. gramatika objektnog jezika. Elementi notacija Svaka notacija ima svoje elemente <strong>koji</strong>ma <strong>se</strong> opisuje objektni jezik. Ovde su navedeni elementi četiri notacije, iako jednu od njih, i to notaciju sa zagradama, nije potrebno spremati za ispit. BNF notacija 1. neterminalni simboli 2. terminalni simboli slovo 3. metajezički operator dodele ::= 4. metajezički operator nadovezivanja slovo 5. metajezički operator izbora ::= | isto sto i Materijal za vežbe na tabli i pripremu ispita Strana 33 od 82 x :: y x :: z 6. ponavljanje prethodnog elementa {x} j podrazumeva <strong>se</strong> i podrazumeva <strong>se</strong> 1 Primer: ::= | ::= 0|1|2|3|4|5|6|7|8|9 primer za 12: → → → 12 - rekurzivna definicija ostvaruje opis beskonačnog broja nizova cifara - objektni jezik je skup nizova terminalnih znakova, odnosno nizova cifara {0,1,...,9,00,01,...,123} EBNF notacija 1. neterminalni simboli x 2. terminalni simboli "slovo" 3. metajezički operator dodele = 4. metajezički operator nadovezivanja x"slovo" 5. metajezički operator izbora x y x = (y|z) isto sto i x z (zagrade preciziraju operande operatora izbora) 6. ponavljanje prethodnog elementa {x} j podrazumeva <strong>se</strong> i podrazumeva <strong>se</strong> 0 7. opcija [x] 8. na kraju pravila stoji tačka . Notacija sa zagradama 1. neterminalni simboli x 2. terminalni simboli slovo 3. metajezički operator dodele = 4. metajezički operator nadovezivanja x slovo 5. metajezički operator izbora x y 6. ponavljanje prethodnog elementa x... 7. opcija [x]