% Vaje iz Racunalnistva 1 dne 20.10.1998

\documentclass[a4paper]{article}

\usepackage{slovene}

\title{Vaja 2}
\author{Ur\v{s}ka Merc}
\date{20. 10. 1998}

\begin{document}

\maketitle

Vse prej\v{s}nje vaje lahko dobite na naslovu:
%
\begin{center}
\texttt{Http://valjhun.mat.uni-lj.si/\~{}brodnik/Andrej/RacunalnistvoI/}
\end{center}
%
Prej\v{s}nje vaje si lahko tudi pogledate tako, da kliknete     na
povezavo, ki ka\v{z}e na PostScript datoteko (koncnica \texttt{.ps}),
se nam prika\v{z}e pogovorno okno iz katerega izberemo gumb Pick
App... Na naslednjem oknu kliknemo na gumb Browse... V prikazanem oknu
poi\v{s}\v{c}ite datoteko gsview32.exe. Pot do nje je
%
\[
  \texttt{C:}
    \backslash\texttt{Programi}
    \backslash\texttt{gstools}
    \backslash\texttt{gsview}
    \backslash\texttt{gsview32.exe}
\]
%
Ko to datoteko izberete, kliknite na gumb OK in v naslednjem oknu, ki
se vam poka\v{z}e izberete opcijo Open it. Po kliku na gumb OK se vam
datoteka odpre s pomo\v{c}jo programa GS View.

\subsection*{Dana\v{s}nja snov}

\begin{itemize}
\item Novi\v{c}ke
\item Funkcije
\end{itemize}

\section*{Kako beremo novi\v{c}ke?}

Novi\v{c}ke lahko preberemo na dva na\v{c}ina:
%
\begin{itemize}
\item s pomo\v{c}jo programa Netscape Navigator
\item preko Vege
\end{itemize}

\subsection*{Prvi na\v{c}in}

Odprete Netscape Navigator ter greste na na\v{s}o doma\v{c}o stran ter
nato kliknete na novi\v{c}ke fmf.prm.rac1, kjer lahko preberete vse
novi\v{c}ke ki se nahajajo pod tem naslovom.
%
\v{C}e pa ho\v{c}ete odpisati, odgovoriti ali pa zastaviti kak\v{s}no
vpra\v{s}anje, pa si prvo nastavite svoj profil tako, da greste v
ukazni vrstici na
%
\emph{edit -- preferences -- identity} ter nato vtipkate svoje
podatke. Pismo po\v{s}ljete z ukazom \emph{new msg} oziroma lahko
odpi\v{s}ete z ukazom \emph{reply}.

\subsection*{Drugi na\v{c}in}

Novi\v{c}ke si lahko ogledamo tudi preko Vege tako, po\v{z}enemo
program \emph{fnews} in si izberemo novico, ki je \v{z}elimo prebrati.
Odpi\v{s}emo ali zastavimo vpra\v{s}anje z ukazom \emph{reply} oziroma
\emph{send}.

\section*{Funkcije}

Vsako funkcijo je potrebno:
%
\begin{itemize}
\item definirati
\item poklicati
\end{itemize}

V C-ju lo\v{c}imo tri vrste funkcij:
%
\begin{itemize}
\item funkcija \textbf{main} je funkcija, ki jo moramo definirati,
  kli\v{c}e pa jo ra\v{c}unalnik sam od sebe.

  Npr. \texttt{int main(void)} slika iz \texttt{void} v \texttt{int},
  torej iz ni\v{c}esar funkcija \texttt{main} preslika v cela
  \v{s}tevila int.
\item funkcije iz knji\v{z}njic so \v{z}e definirane funkcije, zato
  jih ne rabimo definirati, temve\v{c} jih le kli\v{c}emo.

  Npr. funkcija \texttt{printf} je shranjena v knji\v{z}nici
  \texttt{stdio.h}, vendar jo lahko uporabljamo v programu le, \v{c}e
  na za\v{c}etku programa povemo prevajalniku, naj skupaj z na\v{s}im
  programom prevede tudi datoteko \texttt{stdio.h}.
\item lastne funkcije programa, ki jih definiramo v samem programu.
  Definiramo jih tako
%
  \[
  \texttt{tip}_\textrm{rezultata funkcije}
  \texttt{ime}_\textrm{funkcije} (\texttt{parametri});
  \]
%
  tudi, \v{c}e funkcija nima parametrov, moramo to navesti (npr.\
  \texttt{void}).  Parametre navedemo tako, da povemo tip parametra in
  njegovo oznako.  npr.
%
{\tt
 \begin{verbatim}
#include<stdio.h>

void izpisi_cas(unsigned long sekunde)
{
  printf("%dh, %dmin, %d sek ",
                   sekunde / 3600,
                  (sekunde % 3600) / 60,
                  (sekunde % 3600) % 60);
}

int main(void)
{
  izpisi_cas( 12366 );
  return 0;
}

\end{verbatim}
}

  V na\v{s}em primeru je
  \begin{itemize}
  \item $\texttt{tip}_\textrm{rezultata funkcije} = \texttt{void}$
  \item $\texttt{ime}_\textrm{funkcije} = \texttt{izpisi\_cas}$
  \item $\texttt{parametri} = \texttt{unsigned long sekunde}$, kjer je
    \texttt{unsigned} nepredzna\v{c}eno celo \v{s}tevilo.
  \end{itemize}

\end{itemize}

Funkcije nam pomagajo, da lahko ve\v{c}ja opravila razkosamo na
ve\v{c} manj\v{s}ih oziroma, da jih lahko kasneje uporabljamo
(kli\v{c}emo) \v{s}e v drugih programih, ki jih tako ni potrebno
pisati od za\v{c}etka.  Vedeti moramo le, kaj funkcija stori in
kak\v{s}ne podatke potrebuje.

\end{document}
