\documentclass[a4paper]{article}
\usepackage{slovene}
%\usepackage{csz}

\title{Trinajste vaje iz ra�unalni�tva}
\author{Aleksij Rot}
\date{20.2.1999}

\begin{document}
\maketitle


\section{Komentarji nalog}

Profesor je najprej dom�e naloge skopiral z ,,novi�k`` na internetu,
jih pregledal in popravil. Ko je le te popravil, je na vsako nalogo
posebej napisal in ozna�il kje in kaj smo naredili narobe.  Naloge je
ocenjeval po �tirih kriterijih, ki se nato �e razvejajo na podto�ke.
%
\begin{itemize}
\item Pravilnost: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$30$
  \begin{enumerate}
  \item  pravilno obravnavanje podatkov ~~~~~~~~~~$12$
  \item  pravilnost postopka (algoritem) ~~~~~~~~~~~$12$
  \item u�inkovitost ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$6$
  \end{enumerate}
\item Arhitektura programa: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$30$
  \begin{enumerate}
  \item pravilna uporaba jezikovnih elementov ~~~~~$7$ \\
    (for, while, if, ...)
  \item globalne spremenljivke in konstante ~~~~~~~~~$3$ \\
    (jih na�eloma ni)
  \item ali so funkcije uporabljene ~~~~~~~~~~~~~~~~~~~~$4$
  \item smiselnost funkcij ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$3$
  \item smiselnost parametrov funkcij~~~~~~~~~~~~~~~$3$
  \item pogodbe in njihova pravilnost ~~~~~~~~~~~~~~$10$
  \end{enumerate}
\item Dokumentacija:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$30$
  \begin{enumerate}
  \item imena spremenljivk in funkcij ~~~~~~~~~~~~$3$
  \item komentarji v kodi ~~~~~~~~~~~~~~~~~~~~~~~~$4$
  \item vsaka spremenljivka (in funkcija) ~~~~~~~~$3$
  \item smiselnost vsebine komentarjev ~~~~~~~~~~~$5$
  \item smiselnost vsebine pogodb ~~~~~~~~~~~~~~~~$6$
  \item dokumentacija o tem, kako se
    program prevede ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$6$
  \item dokumentacija o uporabi programa ~~~~~~~~~$6$
  \end{enumerate}
\item Preverjanje, izvajanje ~~~~~~~~~~~~~~~~~~~~~~$10$
  \begin{enumerate}
  \item program se prevede
    (je sintakti�no pravilen) ~~~~~~~~~~~~~~~~~~~$3$
  \item program pravilno dela ~~~~~~~~~~~~~~~~~~$7$
  \end{enumerate}
\item SKUPAJ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$100$
\end{itemize}

Najve� mo�nih to�k je bilo 100. Te so bile porazdeljene tako kot prikazuje shema.

Najve� napak smo imeli pri dokumentaciji, kjer nismo pravilno
opisovali, komentirali delovanje programa. Zaradi tega profesor ni
pregledal �etrte to�ke. Dokumentacija mora biti napisana tako, da jo
razume vsak, ki bo hotel delati z na�im programom.  Vsebovati mora
opis, kaj, kako program deluje, kak�ni morajo biti vhodni podatki, da
zadovolimo delovanje programa, kaj dobimo na izhodu in predvsem
komentar kako se ga uporablja.

Imena, ki jih uporabljamo naj bodo smiselna. Naj bodo napisana z
besedo in ne z �rko, kot naprimer ime ,,dol�ina`` naj bo raje napisano
z besedo dol�ina, kjer nam ime pove kaj funkcija opravlja in ne z �rko
d, kjer ne vemo kaj je definirano pod to �rko.

Funkcijo, ki jo definiramo, naj bo dolo�ena za eno nalogo in ne za dve
ali ve�.

Knji�nice, ki jih uporabljamo naj bi bile standardne.

\section{Nadaljevanje snovi}

Ko smo z nalogami kon�ali, smo nadaljevali z vajami in sicer z
matrikami. Ogledali smo si funkcijo \texttt{BeriMatriko}, ki prebere
celo matriko.  Na za�etku definiramo glavo funkcije:
%
{\tt
\begin{verbatim}
void BeriMatriko(dim * dim, int matrika [MAX][MAX])
\end{verbatim}
}
%
in nato zacnemo brati dimenzijo z z ukazom:
%
{\tt
\begin{verbatim}
*dim = BeriVrednost ("Vpisi dim"),
\end{verbatim}
}

Ko jo preberemo, za�nemo brati matriko. Matriko beremo po vrsticah --
vsako vrstico posebej s klicem funkcije \texttt{BeriVrstico}.
%
Ko funkcija ukaza prebere prvo vrstico, sko�i v drugo in tako naprej,
dokler ne prebere vseh vrstic matrike:
%
{\tt
\begin{verbatim}
  for (vrstica = 0;  vrstica < *dim; vrstica ++)
    BeriVrstico (*dim, matrika [vrstica]);
\end{verbatim}
}

Dimenzija matrike in matrika sta izhodna parametra funkcije
\texttt{BeriMatriko}.

\end{document}
