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