OO1PP1 -
DZ1 Rok
za izradu: 21.11.2006.
PRAKTIKUM IZ PROGRAMIRANJA 1
- domaći zadatak broj 1 -
Sastaviti na simboličkom mašinskom jeziku (SMJ) za picoComputer program, kojim se vrši određena vrsta obrade nad nizom celih brojeva. Glavni program treba da:
a) učitava sve potrebne podatke
(dužinu niza/nizova, elemente niza/nizova, itd.);
b) poziva odgovarajući potprogram
koji vrši zahtevanu obradu;
c) ispisuje sve dobijene rezultate;
d) ponavlja prethodna tri koraka sve
dok se za dužinu niza/nizova unosi pozitivna vrednost;
Zavisno od rednog broja problema koji se rešava, sastaviti jedan od sledećih potprograma, kojim se:
0. za učitani niz brojeva
proizvoljne dužine pronalazi element čija se apsolutna vrednost
najmanje razlikuje od apsolutne vrednosti aritmetičke sredine niza;
1. izračunava srednja vrednost
onih elemenata zadatog niza, čije se vrednosti razlikuju od minimalne i
maksimalne vrednosti elemenata u nizu;
2. ispisuje broj elemenata niza čija
binarna predstava ima više cifara 1 nego cifara
0;
3. izračunava srednja vrednost elemenata
niza deljivih zadatim brojem b;
4. određuje zbir dva polinoma (polinomi ne moraju biti istog stepena; polinom se predstavlja nizom celobrojnih koeficijenata an, an-1, …, a1, a0, gde je n stepen polinoma; nije potrebno očuvati sadržaj ulaznih nizova koji predstavljaju polinome);
5. od dva zadata niza brojeva iste
dužine formira treći, čiji je svaki element jednak vrednosti odgovarajućeg
elementa prvog niza podignutoj na stepen odgovarajućeg elementa drugog
niza (c[i]=a[i]b[i]);
6. računa vrednost |s1-s2|, gde je s1 suma
svih elemenata niza koji imaju parnu vrednost, a s2 suma
svih elemenata niza koji imaju neparnu vrednost;
7. za dva učitana niza
proizvoljne dužine pronalazi broj elemenata, takvih da se nalaze u oba
niza (svi elementi jednog niza su međusobno različiti);
Kandidati koji na odbrani nemaju spremna
makar tri različita test primera na posebnom listu papira ne mogu dobiti
maksimalan broj poena. Svaki primer treba da sadrži ulazne podatke i
očekivani izlaz za te podatke.
Napomene:
1. Odbrana prvog domaćeg zadatka će
biti održana 21.11.2006. u RC ETF. 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 8
3. Kao rešenje domaćeg
zadatka potrebno je na odbrani pokazati dve datoteke:
·
dz1.PCA, koja sadrži izvorni tekst
programa na SMJ za pC;
·
dz1.LOG, koju je formirao PCAS, a koja sadrži rezultate rada za
nekoliko pažljivo odabranih skupova ulaznih podataka.
8.11.2006. godine sa predmeta