OO1PP1 – DZ3                                                                                   Rok za izradu: 27.12.2005.

PRAKTIKUM IZ PROGRAMIRANJA 1

- domaći zadatak broj 3 -

Sastaviti glavni program koji radi sa dvodimenzionalnim matricama realnih brojeva na dati način:

a)     poziva potprogram koji učitava sve potrebne podatke (dimenzije i elemente matrice/matrica);

b)     poziva odgovarajući potprogram koji izvrši zahtevanu obradu nad ulaznim podacima;

c)      poziva potprogram koji ispisuje sve dobijene rezultate;

d)     ponavlja prethodne korake sve dok se za broj vrsta ili kolona ne unese negativna vrednost.

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

0.      svi pozitivni elementi matrice podignu na stepen koji odgovara zbiru rednih brojeva vrste i kolone;

1.      određuje broj vrsta i kolona gde je zbir elemenata veći od trećeg korena zadate vrednosti;

2.      od dve ulazne matrice pravi treća, tako da svaki element ima vrednost odgovarajućeg elementa prve matrice stepenovanog odgovarajućim elementom druge matrice;

3.      elementi zadate matrice razvrstavaju u dve matrice istih dimenzija, takve da rezultantne matrice imaju na istim mestima kao i u početnoj matrici samo pozitivne, odnosno samo negativne brojeve iz početne matrice, a na ostalim mestima imaju elemente iste apsolutne vrednosti i suprotnog znaka u odnosu na početnu vrednost;

4.      određuje najveći kvadrat razlike elemenata na istim pozicijama u dve matrice;

5.      zamenjuje vrednost elementa geometrijskom sredinom vrednosti svih elementa njegove kolone;

6.      određuje geometrijska sredina elemenata matrice kod kojih je zbir indeksa vrste i kolone paran broj;

Programi treba da učitaju sve potrebne podatke, zatim izvrše zahtevanu obradu i na kraju ispišu rezultate te obrade. Pri zadavanju matrice, prvo se učitavaju dimenzije, a zatim i sami elementi. Kod ispisivanja matrice, ispisivati jednu vrstu po liniji ispisanog teksta. Podrazumevati da su u programima gde se radi sa dve ulazne matrice, te matrice istih dimenzija. Predvideti maksimalni broj vrsta i kolona (MAX_BR_VR, MAX_BR_KOL) pri deklaraciji matrice, a u toku rada proveravati da li su unete dimenzije matrice takve da se svi elementi mogu smestiti korišćenjem predviđenih dimenzija. Osmisliti i napisati na papiru nekoliko 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.

Važno: kada se uspešno reši osnovni zadatak, napraviti novi program, koji predstavlja modifikaciju osnovnog programa. Treba dodati sledeću osobinu: nakon učitavanja podataka, a pre poziva potrograma koji radi samu obradu, poziva se novi potprogram, koji izvrši transponovanje matrice/matrica sa kojima se radi.

Napomene:

1.      Raspored termina će biti blagovremeno objavljen na Internet stranici predmeta.

2.      Odbrana će biti održana u sali 60.

3.      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 7

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

·      dz3.PAS, koja sadrži izvorni tekst osnovnog programa na programskom jeziku Pascal;

·      dz3_tr.PAS, koja sadrži tekst modifikovanog programa.

20.12.2005. godine                                                                                                  sa predmeta