OO1PP1 –
DZ3 Rok
za izradu: 26.12.2006.
PRAKTIKUM IZ PROGRAMIRANJA 1
- domaći zadatak broj 3 -
Sastaviti na programskom jeziku Pascal glavni program, koji na sledeći način radi sa dvodimenzionalnom matricom realnih brojeva:
· poziva potprogram koji učitava sve potrebne podatke (dimenzije i elemente matrice);
· poziva odgovarajući potprogram koji izvrši zahtevanu obradu nad ulaznim podacima;
· poziva potprogram koji ispisuje sve dobijene rezultate;
· ponavlja prethodne korake sve dok se za broj vrsta ne unese negativna vrednost.
Zavisno od rednog broja problema koji se rešava, sastaviti jedan od sledećih programa na programskom jeziku Pascal, kojim se:
0.
određuju
vrednosti i pozicija svih elemenata matrice za koje u matrici postoje i
dvostruko veći i dvostruko manji broj;
1. izračunava broj i određuju pozicije elemenata matrice koji su ili najmanji ili najveći i u svojoj vrsti i u svojoj koloni;
2.
pronalaze
pozicije onih elemenata matrice koji se razlikuju od svih elemenata i u svojoj
vrsti i svojoj koloni;
3. pronalaze pozicije svih elemenata kojima svi susedi imaju vrednost veću od njihove;
4.
pronalaze
vrste i kolone matrice čija je aritmetička sredina jednaka;
Pri zadavanju matrice,
prvo se učitavaju dimenzije, a zatim i sami elementi. Kod ispisivanja
matrice, ispisivati jednu vrstu po liniji ispisanog teksta. 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 u matrice predviđenih
dimenzija. Osmisliti i napisati na
papiru makar 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
i/ili povratne vrednosti.
Važno: kada se uspešno reši osnovni zadatak, napraviti
novi program, koji predstavlja modifikaciju osnovnog programa. Treba dodati
sledeću osobinu: osim matrica, program učitava i dva SKUPA brojeva.
Prvi skup brojeva odgovara rednim brojevima vrsta, a drugi rednim brojevima
kolona (set of 1..MAX_BR_VR, set of 1..MAX_BR_KOL). Obrada se vrši samo za one elemente matrice čiji se
indeksi nalaze u zadatim SKUPOVIMA. Oba skupa se zadaju preko glavnog ulaza
tako što se prvo unese broj elemenata, a zatim i sami elementi SKUPA.
Napomene:
1. Odbrana drugog domaćeg zadatka je u utorak, 26.12.2006. godine. Tačni termini za sve studente će biti blagovremeno objavljeni na sajtu predmeta.
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:
· dz3.PAS, koja sadrži izvorni tekst glavnog programa na programskom jeziku Pascal;
· dz3_sk.PAS, koja sadrži tekst modifikovanog programa
20.12.2006. godine sa predmeta