OO1PP1 – DZ2                                                                                   Rok za izradu: 13.12.2005.

PRAKTIKUM IZ PROGRAMIRANJA 1

- domaći zadatak broj 2 -

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

  1. izračunava skalarni proizvod S dva vektora a[i] i b[i] (i=1,...,n): ;
  2. izračunava vektorski proizvod V dva vektora a[i] i b[i] (i=1,2,3):
  3. elementi zadatog niza brojeva a[i] (i=1,...,b) razvrstavaju u dva niza p[j] (j=1,...,m) i q[k] (k=1,...,n), tako da niz p[j] sadrži samo pozitivne brojeve veće od 7, a niz q[k] samo negativne brojeve manje od -3;
  4. izračunavaju dva zbira apsolutnih vrednosti; prvi se računa od elemenata parnih vrednosti, a drugi od elemenata neparnih vrednosti iz zadatog niza brojeva a[i] (i=1,...,n);
  5. izvrši zamena redosleda elemenata zadatog niza brojeva a[i] (i=1,...,n) zamenjujući prvi element sa poslednjim, drugi sa pretposlednjim itd;
  6. određuju elementi zadatog neuređenog niza celih brojeva a[i] (i=1,...,n) sa najvećom parnom (max) i najmanjom neparnom (min) vrednošću;
  7. određuje najveća razlika kvadrata korespondentnih elemenata u dva niza brojeva a[i] i b[i] (i=1,...,n);
  8. izračunava broj pojavljivanja cifara, velikih i malih slova u zadatom nizu znakova c[i];

Programi treba da učitaju sve potrebne podatke, zatim izvrše zahtevanu obradu, i na kraju ispišu rezultate te obrade. Pri zadavanju niza, prvo se učitava broj elemenata, a zatim i sami elementi niza. Kod ispisivanja niza, ne ispisuje se broj elemenata, već se ispisuju samo elementi niza. Program treba da ponavlja ceo postupak sve dok se ne unese neka karakteristična vrednost za neki od ulaznih podataka (npr. negativan ili previše veliki broj za broj elemenata niza). U programima gde se radi sa dva ulazna niza, podrazumevati da su ulazni nizovi iste dužine. Predvideti maksimalni broj elemenata niza (MAX_BR_EL) pri deklaraciji niza, a u toku rada proveravati da li je uneta dimenzija niza takva da se svi elementi mogu smestiti u niz predviđenih dimenzija. Tip brojeva odabrati prema potrebama zadatka, odnosno koristiti proizvoljni tip tamo gde to nije suštinski bitno za sam algoritam. Napisati na papiru i prikazati na odbrani nekoliko skupova podataka sa kojima će se program testirati.

Važno: kada se uspešno reši osnovni zadatak, napraviti novi program, koji predstavlja modifikaciju osnovnog programa. Treba dodati sledeću osobinu: osim nizova, program učitava i SKUP brojeva od 1 do MAX_EL (set of 1..MAX_BR_EL). Obrada se vrši samo za one elemente niza/nizova čiji se indeksi nalaze u zadatom SKUPU, koji se zadaje tako što se prvo unese broj elemenata, a zatim i sami elementi SKUPA.

Napomene:

1.      Odbrana drugog domaćeg zadatka je u sredu, 14.12. uz isti raspored termina po satima kao i na prethodnoj odbrani.

2.      Formula za redni broj problema i koji treba rešavati je sledeća (R – redni broj indeksa, G – godina upisa): i = (R + G) mod 8

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

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

·      dz2_sk.PAS, koja sadrži tekst modifikovanog programa, koji podržava rad sa skupovima.

30.11.2005. godine                                                                                                  sa predmeta