\documentclass[a4paper]{article}
\setlength{\oddsidemargin}{-1cm} \setlength{\topmargin}{-3cm}
\setlength{\textwidth}{18cm} \setlength{\textheight}{26cm}
\pagestyle{empty}

\def\DJ{\leavevmode\setbox0=\hbox{D}\kern0pt
 \rlap{\kern.04em\raise.188\ht0\hbox{-}}D}
\def\dj{\leavevmode\setbox0=\hbox{d}\kern0pt
 \rlap{\kern.215em\raise.46\ht0\hbox{-}}d}

\usepackage{amssymb}
\usepackage{comment}

\begin{document}

\begin{small}

\begin{center}
\textbf{Prevodioci i interpretatori - septembar 2009.}
\end{center}
\begin{enumerate}
\item Napisati perl skript koji automatski generi\v se mapu web
sajta. Sve datoteke od kojih se web sajt sastoji su sme\v stene u
direktorijum \v cije se ime navodi kao argument komandne linije
skripta. Polazna stranica sajta je \texttt{index.html}. Mapa se
prikazuje u obliku stabla tako \v sto se svakoj stranici pridru\v ze
oznake linkova koji se u njoj nalaze. Prepostaviti da su svi linkovi
lokalni. Ukoliko neki link vodi ka stranici koja je ve\' c obra\dj ena,
on se navodi u mapi, ali se ta stranica dalje ne obra\dj uje. Npr.

\begin{verbatim}
Home (index.html)
|-- Programiranje (programiranje.html)
  |-- C (c.html)
  |-- Java (java.html)
  |-- Pocetna (index.html)
|-- Zabava
  |-- Muzika (muzika.html)
  |-- Film (film.html)
\end{verbatim}

\item Napisati interpretator za jezik koji ima elemente programskog
jezika \textsc{basic}. Program se sastoji od niza linija obele\v zenih
brojevima. Interpretator se pokre\' ce kada se nai\dj e na \verb"RUN" i
interpretacija po\v cinje od linije sa najmanjim brojem.
\begin{enumerate}
\item Naredba \verb"PRINT" ispisuje nisku karaktera koja je navedena kao argument. Naredbom
\verb"GOTO" se vr\v si bezuslovni skok na liniju ozna\v cenu datim brojem. \hfill[4]

\begin{verbatim}
10 PRINT "Hello"                                                    Hello
20 GOTO 10                                                          Hello
RUN                                                                 ....
\end{verbatim}

\end{enumerate}
\end{enumerate}

\vspace{2cm}

\begin{center}
\textbf{Prevodioci i interpretatori - septembar 2008.}
\end{center}
\begin{enumerate}
\item Napisati perl skript koji automatski generi\v se mapu web
sajta. Sve datoteke od kojih se web sajt sastoji su sme\v stene u
direktorijum \v cije se ime navodi kao argument komandne linije
skripta. Polazna stranica sajta je \texttt{index.html}. Mapa se
prikazuje u obliku stabla tako \v sto se svakoj stranici pridru\v ze
oznake linkova koji se u njoj nalaze. Prepostaviti da su svi linkovi
lokalni. Ukoliko neki link vodi ka stranici koja je ve\' c obra\dj ena,
on se navodi u mapi, ali se ta stranica dalje ne obra\dj uje. Npr.

\begin{verbatim}
Home (index.html)
|-- Programiranje (programiranje.html)
  |-- C (c.html)
  |-- Java (java.html)
  |-- Pocetna (index.html)
|-- Zabava
  |-- Muzika (muzika.html)
  |-- Film (film.html)
\end{verbatim}

\item Napisati interpretator za jezik koji ima elemente programskog
jezika \textsc{basic}. Program se sastoji od niza linija obele\v zenih
brojevima. Interpretator se pokre\' ce kada se nai\dj e na \verb"RUN" i
interpretacija po\v cinje od linije sa najmanjim brojem.
\begin{enumerate}
\item Naredba \verb"PRINT" ispisuje nisku karaktera koja je navedena kao argument. Naredbom
\verb"GOTO" se vr\v si bezuslovni skok na liniju ozna\v cenu datim brojem. \hfill[4]

\begin{verbatim}
10 PRINT "Hello"                                                    Hello
20 GOTO 10                                                          Hello
RUN                                                                 ....
\end{verbatim}

\end{enumerate}
\end{enumerate}


\newpage
\begin{enumerate}

\item[(b)] Naredba \verb"INPUT" omogu\' cuje unos niske sa standardnog ulaza. Niska se
sme\v sta u promenljivu \v cije je ime navedeno. Imena promenljivih koje \v cuvaju
niske karaktera se zavr\v savaju karakterom \verb"$". Niske karaktera se mogu nadovezivati
kori\v s\' cenjem operatora \verb"+". \hfill[6]
\begin{verbatim}
10 INPUT "What is your name: "; name$                               What is your name: Pera
20 PRINT "Hello, " + name$                                          Hello, Pera
RUN
\end{verbatim}

\item[(c)] Naredba \verb"LET" je naredba dodele.
Funkcije \verb"LEFT$" i \verb"RIGHT$" omogu\' cavaju izdvajanje prefiksa, odnosno
sufiksa niske date du\v zine. \hfill[6]
\begin{verbatim}
10 LET text$ = "This is a test"
20 prefix$ = LEFT$(text$, 4)
30 suffix$ = RIGHT$(text$, 4)
40 PRINT prefix$                                                    This
50 PRINT suffix$                                                    test
RUN
\end{verbatim}

\item[(d)] Naredba \verb"IF-THEN" je naredba uslovnog grananja. Operator \verb"=" predstavlja
operator pore\dj enja niski. \hfill[6]
\begin{verbatim}
10 INPUT "What is your name: "; name$                              What is your name:
15 IF name$ = "" THEN GOTO 10                                      What is your name: Pera
20 PRINT "Hello, " + name$                                         Hello, Pera
RUN
\end{verbatim}

\item[(e)] Petlje se ostvaruju kori\v s\' cenjem \verb"FOR-NEXT". \hfill[10]
\begin{verbatim}
20 FOR i = 1 TO 2                                                  I: 1
30 FOR j = 1 TO 2                                                  J: 1
40 PRINT "I: " + i                                                 I: 1
50 PRINT "J: " + j                                                 J: 2
60 NEXT j                                                          I: 2
70 NEXT i                                                          J: 1
RUN                                                                I: 2
                                                                   J: 2
\end{verbatim}
\end{enumerate}

\vspace {1cm}
\begin{enumerate}

\item[(b)] Naredba \verb"INPUT" omogu\' cuje unos niske sa standardnog ulaza. Niska se
sme\v sta u promenljivu \v cije je ime navedeno. Imena promenljivih koje \v cuvaju
niske karaktera se zavr\v savaju karakterom \verb"$". Niske karaktera se mogu nadovezivati
kori\v s\' cenjem operatora \verb"+". \hfill[6]
\begin{verbatim}
10 INPUT "What is your name: "; name$                               What is your name: Pera
20 PRINT "Hello, " + name$                                          Hello, Pera
RUN
\end{verbatim}

\item[(c)] Naredba \verb"LET" je naredba dodele.
Funkcije \verb"LEFT$" i \verb"RIGHT$" omogu\' cavaju izdvajanje prefiksa, odnosno
sufiksa niske date du\v zine. \hfill[6]
\begin{verbatim}
10 LET text$ = "This is a test"
20 prefix$ = LEFT$(text$, 4)
30 suffix$ = RIGHT$(text$, 4)
40 PRINT prefix$                                                    This
50 PRINT suffix$                                                    test
RUN
\end{verbatim}

\item[(d)] Naredba \verb"IF-THEN" je naredba uslovnog grananja. Operator \verb"=" predstavlja
operator pore\dj enja niski. \hfill[6]
\begin{verbatim}
10 INPUT "What is your name: "; name$                              What is your name:
15 IF name$ = "" THEN GOTO 10                                      What is your name: Pera
20 PRINT "Hello, " + name$                                         Hello, Pera
RUN
\end{verbatim}

\item[(e)] Petlje se ostvaruju kori\v s\' cenjem \verb"FOR-NEXT". \hfill[10]
\begin{verbatim}
20 FOR i = 1 TO 2                                                  I: 1
30 FOR j = 1 TO 2                                                  J: 1
40 PRINT "I: " + i                                                 I: 1
50 PRINT "J: " + j                                                 J: 2
60 NEXT j                                                          I: 2
70 NEXT i                                                          J: 1
RUN                                                                I: 2
                                                                   J: 2
\end{verbatim}
\end{enumerate}


\end{small}
\end{document}
