\documentclass[a4paper]{article}

\usepackage[latin2]{inputenc}
\usepackage{slovene}

\title{
   RAČUNALNIŠTVO I
\\ 1997/98
}
\author{1.\ domača naloga}

\begin{document}
\maketitle
\thispagestyle{empty}

\begin{enumerate}
\item
%
  Naredite izvedbeni modul za naslednji definicijski modul, ki
  definira opearcije nad (poljubno) natančnimi celimi števili:
%
{\tt
\begin{verbatim}
                                    /* maximal precision */
#define ART_cMaxPrecision   10
typedef unsigned int ART_tDigit;        /* one digit */
typedef struct {                        /* multiple precision number */
  int          sign;                    /* sign of the number +1 / -1 */
  ART_tDigit digits[ART-cMaxPrecision]; /* digits of number */
} ART_tNumber;

bool ART_Add(const ART_tNumber num1, const ART_tNumber num2,
             ART_tNumber * result);
/* Desc:    Sestejemo stevili num1 in num2 v result. Ce je result
            premajhno stevilo (premalo stevk), naznacimo to z
            vrnitvijo vrednost false.
   Parms:   num1 -- prvi sestevanec (prenesen po vrednosti)
            num2 -- drugi sestevanec (prenesen po vrednosti)
            result -- vsota (prenesena po referenci)
   Result:  result->precision >= Size(num1 + num2)
   Pre:
   Post:    IF RESULT THEN result= num1 + num2
*/

bool ART_Sub(const ART_tNumber num1, const ART_tNumber num2,
             ART_tNumber * result);
/* Desc:    Odstejemo od stevila num1 num2 in razliko shranimo
            v result. Ce je result premajhno stevilo (premalo stevk),
            naznacimo to z vrnitvijo vrednost false.
   Parms:   num1 -- odstevanec (prenesen po vrednosti)
            num2 -- odstevatelj (prenesen po vrednosti)
            result -- razlika (prenesena po referenci)
   Result:  result->precision >= Size(num1 - num2)
   Pre:
   Post:    IF RESULT THEN result= num1 - num2
*/
\end{verbatim}
}

\item
%
  Napišite testni program za zgornji definicijski modul. Program
  naj se obnaša podobno kot namizni kalkulator. Kalkulator vedno
  uporablja dve števili: \texttt{zadnje} in \texttt{predzadnje}. Na
  začetku imata obe števili vrednost 0. Nato nad njima lahko
  opravljamo naslednje operacije:
%
  \begin{description}
  \item[Vpisi:] vrednost zadnjega števila postane vrednost
    predzadnjega števila, vrednost zadnjega števila pa preberemo
    z zaslona;
  \item[Sestej:] seštej vrednosti zadnjih dveh števil, potem
    vrednost zadnjega števila postane vrednost predzadnjega
    števila, vsota pa postane nova vrednost zadnjega števila;
  \item[Odstej:] podobno kot seštevanje, le da od predzadnjega
    števila odštejemo zadnje število in razlika postane
    novo zadnje število;
  \item[Zamenjaj:] medsebojno zamenjaj vrednosti zadnjega in
    predzadnjega števila;
  \item[Izpisi:] izpiši vrednost zadnjega števila;
  \end{description}
%
  Testni program naj prebere ukaze s standardnega vhoda, kjer je vsak
  ukaz v svoji vrstici. Ukazi so dolgi eno črko (velike črke v
  opisih ukazov), kateri neposredno sledijo morebitni podatki (pri
  vpisu števila. Primer ukaznega niza je:
%
{\tt
\begin{verbatim}
V2345
V1234
O
V-1111
S
I
\end{verbatim}
}
%
  Izpiše se 0.

\end{enumerate}

\emph{Rok za oddajo: 21.12.1997.}

\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
