gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
pocetak nove verzije;poboljsani fontovi; komande za lako prebacivanje iz jedne u...
authorDoni Pracner <quinnuendo@gmail.com>
Mon, 18 Feb 2013 16:36:05 +0000 (17:36 +0100)
committerDoni Pracner <quinnuendo@gmail.com>
Mon, 18 Feb 2013 16:36:05 +0000 (17:36 +0100)
.gitignore
skripta-spa1.tex

index a1a539ff713e3357f0be11178df05ee340a3b717..ed0b78109a3bc62ddc6fe0c5dfaed978e5109884 100644 (file)
@@ -15,4 +15,5 @@ auto*
 _region*
 *.blg
 *.bbl
-*.exe
\ No newline at end of file
+*.exe
+errinfo.???
\ No newline at end of file
index 44efda87b86b8c9fe777d0182766e7ff714e4178..46328d0f843e893525e2ca6caf865416dcdc6296 100644 (file)
@@ -8,11 +8,20 @@
 % osnovne informacije koje ce se prikazati na naslovnoj strani,
 % kao i u informacijama u generisanom pdfu
 \newcommand{\autor}{Vladimir Kurbalija, Milos Radovanovic, Doni Pracner}
-\newcommand{\naslov}{Skripta za vezbe iz predmeta strukture podataka
-  i algoritmi 1} 
-\newcommand{\datum}{April 2012, Novi Sad}
-\newcommand{\verzija}{ver 12b}
-%sc=single-column
+\newcommand{\naslov}{Skripta za vezbe iz predmeta "Strukture podataka
+  i algoritmi 1"} 
+\newcommand{\datum}{Februar 2013, Novi Sad}
+\newcommand{\verzija}{ver 13a-jk}
+%jk=jedna kolona, dk=dve kolone
+
+\newcommand{\mainstart}{
+%\begin{multicols}{2}
+}
+
+\newcommand{\mainend}{
+%\end{multicols}
+}
+
 \usepackage[serbian]{babel}
 \usepackage{fancyhdr}
 \pagestyle{fancy}
@@ -23,6 +32,7 @@
 
 %change the default font
 \usepackage{lmodern}
+\usepackage{beramono}
 \renewcommand{\familydefault}{\sfdefault}
 
 \usepackage{pifont}
@@ -164,7 +174,7 @@ pdfauthor={\autor}%
 }
 
 \lstdefinestyle{codeblock}{
-       basicstyle=\footnotesize,
+       basicstyle=\footnotesize\ttfamily,
         keywordstyle=\textbf,
         columns=[l]fixed,
         breakatwhitespace=true,
@@ -180,6 +190,7 @@ pdfauthor={\autor}%
 
 \lstnewenvironment{codeblock}{\lstset{style=codeblock}}{}
 
+
 % ----------------==================--------------------------------------
 %                 Pravi pocetak rada
 
@@ -193,7 +204,8 @@ Module 2.
 
 \newpage
 
-\begin{multicols}{2}
+\mainstart
+
 \section{Ilustracija efikasnosti algoritma}
 
 \subsection{Zadatak: Pronaći sve pitagorine
@@ -532,36 +544,50 @@ END MaxNiza4.
 U ovom modulu je definisan tip \kod{File}, koji predstavlja jedan fajl
 sa kojim radimo.
 
-U primerima se pretpostavlja da je „f“ tipa \kod{File}, „str“ niz
-znakova, „i“ tipa \kod{INTEGER}, „c“ tipa \kod{CARDINAL} i „ch“ tipa
-\kod{CHAR}. Dodatna promenljiva „n“ tipa \kod{INTEGER} služi za
+\begin{quote}U primerima se pretpostavlja da je ``f'' tipa \kod{File}, ``str'' niz
+znakova, ``i'' tipa \kod{INTEGER}, ``c'' tipa \kod{CARDINAL} i ``ch''
+tipa \kod{CHAR}. Dodatna promenljiva ``n'' tipa \kod{INTEGER} služi za
 formatiranje slično kao u modulu \kod{InOut}.
+\end{quote}
 
 Promenljiva tipa \kod{File} se mora vezati za neki fajl
-jednom od sledećih komandi:\\
-\kod{f := Open(str);} -- otvara se postojeci fajl za čitanje\\
-\kod{f := Create(str);} -- kreira se fajl za pisanje\\
-\kod{f := Append(str);} -- otvara se postojeći za dopisivanje na kraj
+jednom od sledećih komandi:
+\begin{itemize}
+\item \kod{f := Open(str);} -- otvara se postojeci fajl za čitanje\\
+\item \kod{f := Create(str);} -- kreira se fajl za pisanje\\
+\item \kod{f := Append(str);} -- otvara se postojeći fajl za
+  dopisivanje na kraj
+\end{itemize}
 
-\kod{Close(f);} -- po završetku rada fajl se mora zatvoriti
+Po završetku rada fajl se mora zatvoriti, u našem primeru to bi bilo
+\kod{Close(f);}
 
-Procedure za čitanje i pisanje imaju parametar „\kod{f}“ koji označava
- fajl sa kojim se radi.\\
-\kod{RdStr(f,str)} -- učitava ceo red u string str\\
-\kod{RdItem(f,str)} -- učitava jednu reč u string str (učitava znakove iz fajla dok ne naiđe na separator)\\
-\kod{i:= RdInt(f); c:= RdCard(f)} -- učitava broj, koji se dobija kao rezultat procedure\\
-\kod{ch:= RdChar(f)} -- vraća jedan znak iz fajla
+Procedure za čitanje i pisanje su vrlo slične onima iz modula
+\kod{IO}, osim što imaju dodatni parametar „\kod{f}“ koji označava
+fajl sa kojim se radi.
+\begin{itemize}
+\item \kod{RdStr(f,str)} -- učitava ceo red u string str\\
+\item   \kod{RdItem(f,str)} -- učitava jednu reč u string str (učitava znakove iz fajla dok ne naiđe na separator)\\
+\item   \kod{i:= RdInt(f); c:= RdCard(f)} -- učitava broj, koji se dobija kao rezultat procedure\\
+\item   \kod{ch:= RdChar(f)} -- vraća jedan znak iz fajla
+\end{itemize}
+
+Analogne su i procedure za pisanje različitih tipova u fajl:
+\begin{itemize}
+\item \kod{WrStr(f,str); WrInt(f,i,n);}\ \kod{WrCard(f,c,n);}\
+  \kod{WrChar(f,ch);}
+\end{itemize}
 
-Procedure za pisanje različitih tipova u fajl:
-\kod{WrStr(f,str); WrInt(f,i,n); WrCard(f,c,n);WrChar(f,ch);}
 
-\kod{WrLn(f);} -- upisuje prelom reda u fajl
+Prelom reda se eksplicitno upisuje u fajl komandom \kod{WrLn(f);}.
 
-\kod{EOF} -- logička promenljiva, označava da li smo poslednjom
+Da bi odredili da li smo stigli do kraja fajla možemo koristiti
+\kod{EOF}. U pitanju je logička promenljiva koja se uvozi iz modula
+FIO kao bilo kakva normalna komanda. Ona označava da li smo poslednjom
 operacijom čitanja stigli do kraja fajla.  Ne menja joj se vrednost
 pri operacijama otvaranja i zatvaranja fajlova, odnosno neće se pri
-tome resetovati na \kod{FALSE}.
-
+tome resetovati na \kod{FALSE}, pa na ovo treba obratiti pažnju pri
+radu.
 
 \subsection{Zadatak: ispis sadržaja fajla na ekran}
 
@@ -732,7 +758,7 @@ END nizslog.
 
 \section{Liste i pokazivači}
 
-Za rad sa pokazivačima je potrebno iz modula Storage uvesti procedure
+Za rad sa pokazivačima je potrebno iz modula \kod{Storage} uvesti procedure
 \kod{ALLOCATE} i \kod{DEALLOCATE}. U kodu se tada mogu koristiti i njihovi
 skraćeni oblici \kod{NEW} i \kod{DISPOSE}.
 
@@ -1380,9 +1406,9 @@ Procedura \kod{Spisak} se može realizovati i u rekurzivnoj verziji:
   liste osoba koje dele sadržaj, jedna sortirana po visini, druga po
   težini}
 
-Sa tastature ucitavati po dva broja koji opisiuju osobu (visina i
-tezina) i smestati ih u povezane listu, tako da postoji neopadajuce
-uredjenje i po visini i po tezini.
+Sa tastature učitavati po dva broja koji opisuju osobu (visina i
+težina) i smeštati ih u povezane listu, tako da postoji neopadajuće
+uređenje i po visini i po težini.
 
 \begin{lstlisting}[style=codeblock]
 MODULE VisTez;
@@ -1494,6 +1520,8 @@ END VisTez.
 Polinomi su predstavljeni pomoću pokazivača. Apstraktni tip podataka
 \kod{Polinom} je definisan u globalnom modulu.
 
+\paragraph{PolinomL.DEF} \ 
+
 \begin{lstlisting}[style=codeblock]
 DEFINITION MODULE PolinomL;
 TYPE
@@ -1528,8 +1556,11 @@ PROCEDURE PolinomNaN(p: Polinom; n: CARDINAL;
 PROCEDURE DisposePolinom(VAR p: Polinom);
 
 END PolinomL.
-(* --- kraj definicionog modula --- *)
+\end{lstlisting}
+
+\paragraph{PolinomL.MOD} \ 
 
+\begin{codeblock}
 IMPLEMENTATION MODULE PolinomL;
 FROM InOut IMPORT Write, WriteString, WriteLn,
            WriteCard, ReadCard, Done;
@@ -1828,7 +1859,7 @@ BEGIN
 END DisposePolinom;
 
 END PolinomL.
-\end{lstlisting}
+\end{codeblock}
 
 
 \subsection{Zadatak: Sabiranje sa unapred određenim polinomom}
@@ -2945,6 +2976,8 @@ ispravljene greške.
 Moguće je namestiti da u dijalogu za novi projekat drugo polje ``Template''
  uvek bude prazno. Potrebno je u tom istom dijalogu kliknuti na
  ``Configure'', a potom isprazniti polje ``default template''.
-\end{multicols}
+
+
+\mainend
 
 \end{document}
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner