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