gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
skripta verzija 14c
[spa1skripta-public.git] / todo.txt
index 59e0615..f415d9b 100644 (file)
--- a/todo.txt
+++ b/todo.txt
@@ -1,203 +1,7 @@
---------------------------------------------------
-Aleksandar Sarac
-mail1:
-Starija verzija procedure Anuliraj bi mogla da ostane, ako bi se napravile
-promene u Puta i PolinomNaN.
-Na primer, ovo je kod mene radilo:
-PROCEDURE Puta(p1, p2: Polinom; VAR pr: Polinom);
-VAR
-  pomocni: Polinom;
-BEGIN
-  Anuliraj(pr);
-  pomocni := NIL;
-  IF (p1 <> NIL) AND (p2 <> NIL) THEN
-Linija "pomocni := NIL;": bez nje je promenljiva "pomocni" imala neku
-neobičnu vrednost s kojom se
-procedura DisposePolinom bezveze prošetala memorijom, saplela se i oborila
-program.
-Ovakva procedura PolinomNaN mi je radila:
-PROCEDURE PolinomNaN(p: Polinom; n: CARDINAL;
-                     VAR rez: Polinom);
-VAR
-  i: CARDINAL;
-  pom : Polinom;
-BEGIN
-  IF n = 0 THEN
-    NEW(rez);
-    rez^.k := 1.0;
-    rez^.st := 0;
-    rez^.veza := NIL;
-(*  ELSIF n = 1 THEN
-   Kopiraj( p, rez );*)
-  ELSE
-    (*rez := p;*)
-    Kopiraj(p, rez); (* za n = 1 *)
-    FOR i := 2 TO n DO
-      Kopiraj(rez, pom);
-      (*Puta(rez, p, rez)*)
-      Puta(pom, p, rez);
-      Anuliraj(pom)
-    END
-  END
-END PolinomNaN;
+Ideje za kasnije:
 
-mail2:
-U proceduri Puta je deklarisana promenljiva pomocni, koja, izgleda, dobije
-vrednost koja god se našla u memoriji u tom trenutku. Zatim se
-pozove MonomPuta(p1, p2, pomocni); i na samom početku te procedure se
-poziva Anuliraj. Ako se u memoriji našlo nešto, pa pomocni nije NIL,
-DisposePolinom pokuša da oslobodi memoriju s ko zna kakvim vrednostima
-pokazivača i padne program. Mislim da je to problem jer procedura "proradi"
-čim se na samom početku izvrši pomocni := NIL. Čini mi se da je glavni
-problem to što kompajler dozvoljava upotrebu neinicijalizovanih promenljiva.
-Isto, u proceduri Puta: poziva se MonomPuta(p1, p2, pomocni); u kojoj se
-napravi novi polinom na koji pokazuje pomocni, pa se ubacuju monomi, ali se
-ne oslobađa memorija.
-REPEAT
-  UbaciMonom(pomocni, pr);
-  pomocni := pomocni^.veza
-UNTIL pomocni = NIL;
-Možda bi moglo, na primer, da se napiše procedura koja bi radila isto što
-i pomocni := pomocni^.veza, ali bi i oslobađala memoriju:
-PROCEDURE AnulirajPrvi(VAR p : Polinom);
-VAR
-  pom : Polinom;
-BEGIN
-  IF p # NIL THEN
-    pom := p;
-    p := p^.veza;
-    DISPOSE(pom)
-  END
-END AnulirajPrvi;
-pa bi kod ubacivanja monoma moglo da stoji:
-REPEAT
-  UbaciMonom(pomocni, pr);
-  (*pomocni := pomocni^.veza*)
-  AnulirajPrvi(pomocni)
-UNTIL pomocni = NIL;
+doni: uopsteno prosirivanje teorijskih uvoda
 
-doni:
-zapravo bolje ovo poslednje sa SaberiNa i DisposePolinom
---------------------------------------------------
+doni: dodatno ilustrovati interno ponašanje fajlova
 
-doni:srediti polinome jos malo
 
-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
------------------------
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner