OO1PP1 – DZ5                                                                                   Rok za izradu: 24.01.2004.

 

PRAKTIKUM IZ PROGRAMIRANJA 1

- domaći zadatak broj 5 -

 

Sastaviti glavni program koji radi sa listama i datotekama na sledeći način:

 

a)     poziva potprogram koji učitava sve potrebne podatke iz ulazne binarne datoteke u jednostruko ulančanu listu, tako da redosled podataka bude isti i u datoteci i u listi;

b)     poziva odgovarajući potprogram koji izvrši zahtevanu obradu nad datom listom/listama;

c)      poziva potprogram koji ispisuje sve u toku obrade dobijene rezultate i/ili statistiku obrade;

d)     poziva potprogram koji listu/liste briše iz memorije;

e)     ponavlja prethodne korake sve dok se za ime ulazne datoteke ne unese prazan string.

 

Važno: Napraviti i pomoćni program koji čita podatke sa standardnog ulaza i upisuje ih u binarnu datoteku sa kojom se radi u glavnom programu.

 

Elementi liste su zapisi koji imaju dva polja. Prvo polje je tipa zapisa, čija polja sadrže sve bitne podatke o studentu/broju/polinomu. Drugo polje je pokazivač na sledeći element liste.

 

Zavisno od rednog broja problema koji se rešava, sastaviti jedan od sledećih potprograma na programskom jeziku Pascal, kojim se:

 

  1. vrši spajanje dve jednostruko ulančane, nerastuće uređene liste realnih brojeva u treću jednostruko ulančanu, na isti način uređenu listu; realni brojevi su predstavljeni mantisom i eksponentom
  2. izračunava zbir dva polinoma predstavljenih pomoću jednostruko ulančanih lista zapisa koji sadrže stepen promenljive i koeficijent polinoma (polinomi ne moraju biti istog reda i liste koje ih predstavljaju ne moraju biti uređene po stepenu promenljive)
  3. iz jednostruko ulančane liste kompleksnih brojeva (predstavljenih realnim i imaginarnim delom) izbacuje sve one čiji je moduo (apsolutna vrednost) unutar zadatog opsega apsolutnih vrednosti, a potom preostale brojeve upisuje u tekst datoteku po formatu Re+i*Im
  4. podaci o studentima (ime, prezime, broj indeksa, godina upisa) iz liste prepisuju u 5 tekst datoteka; imena datoteka su "i.txt", gde je i određeno po formuli i = (R + G) mod 5
  5. tabelira polinom u zadatom opsegu vrednosti koje se zadaju sa standardnog ulaza; polinom je predstavljen isto kao u problemu 1

 

Ako nešto nije dovoljno precizno definisano ili ako su neki od zahteva međusobno suprotstavljeni, usvojiti razumnu pretpostavku i rešiti zadatak korišćenjem te pretpostavke. Osmisliti i napisati na papiru tri primera ulaznih podataka sa kojima će se program testirati, kao i očekivani izlaz za odabrane primere. Potprogrami ne smeju pristupati promenljivama glavnog programa direktno, već samo putem svojih argumenata.

 

Napomene:

1.      Raspored termina za odbran petog domaćeg zadatka je objavljen na Internet stranici predmeta (http://rti.etf.bg.ac.yu/rti/ir1pp1/spiskovi/dz5_raspored.htm).

2.      Formula za redni broj problema i koji treba rešavati je sledeća (R – redni broj indeksa, G – poslednje dve cifre godine upisa): i = (R + G) mod 5

3.      Kao rešenje domaćeg zadatka potrebno je na odbrani pokazati sledeće datoteke:

·      dz5.PAS, koja sadrži izvorni tekst osnovnog programa, i

·      dz5_pom.PAS, koja sadrži izvorni tekst pomoćnog programa.

 

20.01.2005. godine                                                                                                  sa predmeta