gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control system
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 9055784)
raw | patch | inline | side by side (parent: 9055784)
author | Doni Pracner <quinnuendo@gmail.com> | |
Tue, 19 Feb 2013 19:18:12 +0000 (20:18 +0100) | ||
committer | Doni Pracner <quinnuendo@gmail.com> | |
Tue, 19 Feb 2013 19:18:12 +0000 (20:18 +0100) |
skripta-spa1.tex | patch | blob | history | |
todo.txt | patch | blob | history |
diff --git a/skripta-spa1.tex b/skripta-spa1.tex
index 1b6704a7d1035461495caa07015fca15f62d59a6..76d39f898a56304311479df8c1de7e709179848d 100644 (file)
--- a/skripta-spa1.tex
+++ b/skripta-spa1.tex
%jk=jedna kolona, dk=dve kolone
\newcommand{\mainstart}{
-\begin{multicols}{2}
+%\begin{multicols}{2}
}
\newcommand{\mainend}{
-\end{multicols}
+%\end{multicols}
}
\usepackage[serbian]{babel}
END MaxNiza4.
\end{codeblock}
+\section{Stringovi}
+
+
+Stringovi -- odnosno nizovi znakova -- ne postoje kao ugrađeni tip u
+jeziku Modula 2. Ovo daje slobodu da se niz znakova definiše na dužinu
+najadekvatniju za konkretnu primenu. U opštem slučaju definišemo npr:
+\begin{codeblock}
+ TYPE
+ String = ARRAY [1..30] OF CHAR;
+\end{codeblock}
+
+Operacije nad stringovima se najčešće uvoze iz modula \kod{Str}. One
+sve prihvataju \emph{otvorene nizove znakova} (strukture definisane sa
+\kod{ARRAY OF CHAR}), tako da im se može proslediti niz proizvoljne
+dužine.
+
+Određivanje stvarne dužine stringa (tj koliko od maksimalnog
+kapaciteta niza je zapravo zauzeto sadržajem) se može izvesti na
+sledeći način:
+\begin{codeblock}
+ duzina := Length(str)
+\end{codeblock}
+
+Leksikografsko poređenje dva stringa se ne može vršiti standardnim
+operatorima kao što su \kod{< > =}. Ovo je delom zato što se radi o
+nizovima, a delom i zato što se ne vidi direktno koji deo niza je
+popunjen stvarnim sadržajem. Za ovo se koristi komanda \kod{Compare},
+koja prihvata dva stringa kao parametre, a vraća broj koji predstavlja
+njihov odnos. Taj broj će biti 0 ako su stringovi jednaki, veći
+od nule ako je prvi string ``veći'', i manji od nule ako je prvi
+string ``manji''. Ovo se lako pamti kad primetimo da je odnos
+između \kod{Compare} i 0 isti kao i između prvog i drugog stringa.
+
+\begin{codeblock}
+ IF Compare(str1, str2) > 0 THEN
+ WriteString("Prvi string je veci");
+ ELSIF Compare(str1, str2) < 0 THEN
+ WriteString("Prvi string je manji");
+ ELSE (* moraju biti jednaki *)
+ WriteString("Jednaki su");
+ END;
+\end{codeblock}
+
+Postoji i modul \kod{Strings} koji ima nešto drugačije definisane
+procedure, no na njih se sada nećemo fokusirati.
+
\section{Rad sa fajlovima}
\subsection{Modul FIO}
diff --git a/todo.txt b/todo.txt
index f3268dfaaca98d5fa4febfa319391970062b3336..88ad221e4ca8ba7e93b4787c5e075659cd6b45c4 100644 (file)
--- a/todo.txt
+++ b/todo.txt
doni: liste - dodati nesto gde se brise vise elemenata u istom
prolazu.
-doni:ubaciti negde primer kako radi Compare za stringove