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: 4ffa9dc)
raw | patch | inline | side by side (parent: 4ffa9dc)
author | Doni Pracner <quinnuendo@gmail.com> | |
Mon, 18 Feb 2013 17:16:13 +0000 (18:16 +0100) | ||
committer | Doni Pracner <quinnuendo@gmail.com> | |
Mon, 18 Feb 2013 17:16:13 +0000 (18:16 +0100) |
skripta-spa1.tex | patch | blob | history | |
todo.txt | patch | blob | history |
diff --git a/skripta-spa1.tex b/skripta-spa1.tex
index 46328d0f843e893525e2ca6caf865416dcdc6296..f8923ee92bbeeaddc2a81d2a3230cb91e9a86d11 100644 (file)
--- a/skripta-spa1.tex
+++ b/skripta-spa1.tex
\subsection{Zadatak: Pronaći sve pitagorine
trojke do zadate granice}
+Pitagorina trojka su tri broja $a,b,c$ za koje važi $a^2 + b^2 = c^2\\$
\begin{lstlisting}[style=codeblock]
MODULE Trojke1;
END Trojke2.
\end{codeblock}
+Sledeći primer koristi Euklidovu teoremu i malo drugačiji pristup.
+Ako uzmemo neka dva prirodna broja $m$ i $n$, tada se iz njih može
+izvesti jedna Pitagorina trojka koja lako zadovoljava potrebne uslove:
+\[
+\begin{array}{l}
+a = 2mn\\
+b = m^2 - n^2\\
+c = m^2 + n^2
+\end{array}
+\]
+Odnosno kad probamo da proverimo da li je ovo
+Pitagorina trojka dobijamo:
+\[
+\begin{array}{r@=l}
+a^2 + b^2 & c^2\\
+(2mn)^2 + (m^2 - n^2)^2 & (m^2 + n^2)^2
+\end{array}
+\]
+
\begin{codeblock}
MODULE Trojke3;
(* Pitagorine trojke koriscenjem teoreme *)
END Trojke3.
\end{codeblock}
+Sledeća dva metoda traže trojke sa nekim specifičnim osobinama.
+
\begin{codeblock}
MODULE Trojke4;
(* Pitagorine trojke kod kojih je razlika
\subsection{Modul FIO}
U ovom modulu je definisan tip \kod{File}, koji predstavlja jedan fajl
-sa kojim radimo.
+sa kojim radimo. Da bi ga koristili moramo ga uvesti u program (isto
+kao što uvozimo i komande).
\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''
diff --git a/todo.txt b/todo.txt
index 59e06154cf68d6289c228d8e70e5bff726d1d3ba..8bd58529210d0a76eade2f8485dcd8d95ea8a324 100644 (file)
--- a/todo.txt
+++ b/todo.txt
doni: liste - dodati nesto gde se brise vise elemenata u istom
prolazu.
-vlada:dodati teoremu o pitagorinim trojkama i mozda jos
-neka objasnjenja
-
doni:ubaciti negde primer kako radi Compare za stringove
-
-----------------------------
-mils:mozda bi to dodatu funkciju SaberiNa
-trebalo inkorporirati u zadatak 4.2 (jedan polinom manje sto se potrosnje
-memorije tice i jedan Dispose manje sto se procesora tice).
-
-----------------------------
-da li dodati i druge slicne procedure osim SaberiNa?
-
-doni:diskuijom zakljuceno da je ovo valjda i dosta, tj da je dovoljno
-za demonstraciju.
----------------------------
-StekTip i RedOpslTip umesto Stack i Queue
-
-doni:uradjeno
-----------------------------
-Polinomi - redosled parametara jos malo unormaliti? kopija je nekako kontra?
-optimizacije u vezi oslobadjanja memorije - Anuliraj bi mogao zvati Dispose
-za svaki slucaj. Saberi i slicno bi isto mogli biti izmenjeni.
-Mozda cak da bude SaberiNa(sab:Polinom; VAR rez:Polinom) pa da
-sve bude u tom jednom, da se ne bi bacala memorija kad je sab(rez,sab,rez).
-
-doni:uradjeno
-
-----------------------
-Radacha:
-- na vise mesta imamo niz naredbi:
-Read(ch);
-Write(ch);
-Sve Write-ove treba pobrisati da bi kod imao smisla na XDS Moduli.
-
-- ponegde se javlja tip LONGCARD, pa se jos mixuje sa CARDINAL tako
-sto se radi cast oblika LONGCARD(x), sto na XDS Moduli ne moze.
-Valjalo bi sve LONGCARD-e izbaciti, posto su na XDS-u ionako isti
-kao CARDINAL.
-
-doni:ovo je sredjeno
-------------------------
-Igor Sarcevic - bug submit: (patched)
---------------
-Pozivom *PolinomNaN( p, 1 , rez )* procedura vraca *rez* koji je pokazivac
-na strukturu na koju pokazuje *p*
-*
-*
-greshka se nalazi u 12. redu poshto u sluchaju da je n = 1 for petlja ne
-izvrshi ni jednom pa se stim ni ne kopira p u rez
-
-PROCEDURE PolinomNaN(p: Polinom; n: CARDINAL;
- VAR rez: Polinom);
-VAR
- i: CARDINAL;
-BEGIN
- IF n = 0 THEN
- NEW(rez);
- rez^.k := 1.0;
- rez^.st := 0;
- rez^.veza := NIL;
- ELSE
- *rez := p;*
- FOR i := 2 TO n DO
- Puta(rez, p, rez)
- END
- END;
-END PolinomNaN;
-
-
-jednostavan patch :
-
-PROCEDURE PolinomNaN(p: Polinom; n: CARDINAL;
- VAR rez: Polinom);
-VAR
- i: CARDINAL;
-BEGIN
- IF n = 0 THEN
- NEW(rez);
- rez^.k := 1.0;
- rez^.st := 0;
- rez^.veza := NIL;
-* ELSIF n = 1 THEN*
-* Kopiraj( rez, p );*
- ELSE
- rez := p;
- FOR i := 2 TO n DO
- Puta(rez, p, rez)
- END
- END;
-END PolinomNaN;
-
-
-mozda u sushtini nema smisla stepenovati na stepen 1 , ali recimo u
-izvodjenju procedure kompozicija ima ( inache pochne program da brljavi kao
-meni na vezbama )
-
-doni:patchovano
-
------------------------
-Radacha2:
-
-evo necega za PolinomL: u procedurama Unos i Deli posle poziva
-procedure UbaciMonom treba ubaciti DISPOSE(novi), da ne curi memorija.
-
-doni:patchovano
------------------------