\documentclass[a4paper]{article}
\textwidth 18cm \textheight 26cm \topmargin -3cm
\parindent 0.46in
\headsep 0.2in \oddsidemargin -2cm \evensidemargin 0cm
\hoffset0.8cm \voffset 1.8cm \pagestyle{empty}

\begin{document}
\begin{center}
\textbf{Prevodioci i interpretatori - Februar 2005.}
\end{center}
\begin{enumerate}
\item Napraviti {\sc perl} skript koji na osnovu {\sc c} datoteke
\v cije je ime navedeno kao prvi argument komandne linije generi\v
se {\sc html} datoteku koja sadr\v zi sintaksno obojen {\sc c}
kod. Razli\v citim bojama predstaviti brojevne konstante, klju\v
cne re\v ci, pretprocesorske direktive, identifikatore, komentare
i stringove.


\item Defini\v simo jezik za opisivanje skupova brojeva na slede\'
ci na\v cin:
\begin{itemize}
\item Skupovi brojeva se opisuju tako \v sto se njihovi elementi
navode izmedju viti\v castih zagrada. Npr. \verb"{2,2.3,3.14}"

\item Nad skupovima su definisane elementarne operacije uniranja
(\verb"+"), presecanja (\verb"*"), razlike skupova (\verb"\"),
simetri\v cne razlike skupova (\verb"-"). Pri tom, operacije
razlike i simetri\v cne razlike imaju najvi\v si prioritet, za \v
cim sledi presek, a zatim unija.

\item Takodje, definisana je i operacije dodavanja broja skupu
tako \v sto se broj doda svakom elementu skupa (Npr.
$\{1,2,3\}+1=\{2,3,4\}$). Analogno se defini\v se i mno\v zenje
skupa brojem. Ove operacije imaju vi\v si prioritet nego one iz
prethodne ta\v cke.
\end{itemize}
\end{enumerate}


\vskip 1.5cm

\begin{center}
\textbf{Prevodioci i interpretatori - Februar 2005.}
\end{center}
\begin{enumerate}
\item Napraviti {\sc perl} skript koji na osnovu {\sc c} datoteke
\v cije je ime navedeno kao prvi argument komandne linije generi\v
se {\sc html} datoteku koja sadr\v zi sintaksno obojen {\sc c}
kod. Razli\v citim bojama predstaviti brojevne konstante, klju\v
cne re\v ci, pretprocesorske direktive, identifikatore, komentare
i stringove.


\item Defini\v simo jezik za opisivanje skupova brojeva na slede\'
ci na\v cin:
\begin{itemize}
\item Skupovi brojeva se opisuju tako \v sto se njihovi elementi
navode izmedju viti\v castih zagrada. Npr. \verb"{2,2.3,3.14}"

\item Nad skupovima su definisane elementarne operacije uniranja
(\verb"+"), presecanja (\verb"*"), razlike skupova (\verb"\"),
simetri\v cne razlike skupova (\verb"-"). Pri tom, operacije
razlike i simetri\v cne razlike imaju najvi\v si prioritet, za \v
cim sledi presek, a zatim unija.

\item Takodje, definisana je i operacije dodavanja broja skupu
tako \v sto se broj doda svakom elementu skupa (Npr.
$\{1,2,3\}+1=\{2,3,4\}$). Analogno se defini\v se i mno\v zenje
skupa brojem. Ove operacije imaju vi\v si prioritet nego one iz
prethodne ta\v cke.
\end{itemize}
\end{enumerate}


\vskip 1.5cm

\begin{center}
\textbf{Prevodioci i interpretatori - Februar 2005.}
\end{center}
\begin{enumerate}
\item Napraviti {\sc perl} skript koji na osnovu {\sc c} datoteke
\v cije je ime navedeno kao prvi argument komandne linije generi\v
se {\sc html} datoteku koja sadr\v zi sintaksno obojen {\sc c}
kod. Razli\v citim bojama predstaviti brojevne konstante, klju\v
cne re\v ci, pretprocesorske direktive, identifikatore, komentare
i stringove.


\item Defini\v simo jezik za opisivanje skupova brojeva na slede\'
ci na\v cin:
\begin{itemize}
\item Skupovi brojeva se opisuju tako \v sto se njihovi elementi
navode izmedju viti\v castih zagrada. Npr. \verb"{2,2.3,3.14}"

\item Nad skupovima su definisane elementarne operacije uniranja
(\verb"+"), presecanja (\verb"*"), razlike skupova (\verb"\"),
simetri\v cne razlike skupova (\verb"-"). Pri tom, operacije
razlike i simetri\v cne razlike imaju najvi\v si prioritet, za \v
cim sledi presek, a zatim unija.

\item Takodje, definisana je i operacije dodavanja broja skupu
tako \v sto se broj doda svakom elementu skupa (Npr.
$\{1,2,3\}+1=\{2,3,4\}$). Analogno se defini\v se i mno\v zenje
skupa brojem. Ove operacije imaju vi\v si prioritet nego one iz
prethodne ta\v cke.
\end{itemize}
\end{enumerate}



\newpage

\begin{itemize}
\item Datoteka sadr\v zi niz izraza oblika
\begin{verbatim}
    promenjiva=izraz;
\end{verbatim}
pri \v cemu se izrazi grade kori\v s\' cenjem gore navedenih
operacija.

Npr.
\begin{verbatim}
prazan_skup={};
skupcic={1,2,3};
a=2;
skup=(skupcic/{1})-(2*a-1)*{1,2,3};
\end{verbatim}

Tip promenjive, mo\v ze da bude ili skupovni ili brojevni, pri \v
cemu se on odredjuje na osnovu tipa vrednosti izraza.
\end{itemize}

Napisati program koji za datoteku \v cije se ime prosledjuje kao
argument komandne linije ispisuje vrednosti svih skupovnih
promenjivih, uredjenih po kardinalnosti skupova koje sadr\v ze.



\vskip 1.5cm

\begin{itemize}
\item Datoteka sadr\v zi niz izraza oblika
\begin{verbatim}
    promenjiva=izraz;
\end{verbatim}
pri \v cemu se izrazi grade kori\v s\' cenjem gore navedenih
operacija.

Npr.
\begin{verbatim}
prazan_skup={}; skupcic={1,2,3}; a=2;
skup=(skupcic/{1})-(2*a-1)*{1,2,3};
\end{verbatim}

Tip promenjive, mo\v ze da bude ili skupovni ili brojevni, pri \v
cemu se on odredjuje na osnovu tipa vrednosti izraza.
\end{itemize}

Napisati program koji za datoteku \v cije se ime prosledjuje kao
argument komandne linije ispisuje vrednosti svih skupovnih
promenjivih, uredjenih po kardinalnosti skupova koje sadr\v ze.


\vskip 2cm

\begin{itemize}
\item Datoteka sadr\v zi niz izraza oblika
\begin{verbatim}
    promenjiva=izraz;
\end{verbatim}
pri \v cemu se izrazi grade kori\v s\' cenjem gore navedenih
operacija.

Npr.
\begin{verbatim}
prazan_skup={}; skupcic={1,2,3}; a=2;
skup=(skupcic/{1})-(2*a-1)*{1,2,3};
\end{verbatim}

Tip promenjive, mo\v ze da bude ili skupovni ili brojevni, pri \v
cemu se on odredjuje na osnovu tipa vrednosti izraza.
\end{itemize}

Napisati program koji za datoteku \v cije se ime prosledjuje kao
argument komandne linije ispisuje vrednosti svih skupovnih
promenjivih, uredjenih po kardinalnosti skupova koje sadr\v ze.

\end{document}
