OO1PP1 – DZ2                                                                     Rok za izradu: 12.12.2006.

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:

0.   izračunava dužina izlomljene linije u ravni; linija se predstavlja pomoću dva niza realnih brojeva x[i] i y[i], koji sadrže koordinate sukcesivnih tačaka preloma linije; korisnik zadaje izgled linije unošenjem parova (x,y);

1.   u nizu celih brojeva a[i] pronalaze i ispisuju sve uređene trojke (p,q,r), takve da p i q mogu predstavljati dužine kateta, a r dužinu hipotenuze pravouglog trougla;

2.   izračunava i ispisuje srednja vrednost trećeg stepena onih članova niza koji su deljivi brojem p, koji se unosi sa glavnog ulaza;

3.   u nizu znakova c[i] pronalazi i ispisuje najduži neprekinuti podniz samoglasnika; ako postoji više takvih podnizova, ispisati prvi pronađeni;

4.   u nizu brojeva a[i] pronalaze i ispisuju sve uređene trojke (a,b,c) za koje važi c=a*b;

5.   pronalazi trougao najveće površine i ispisuje ta površina; trouglovi se predstavljaju pomoću dva niza realnih vrednosti a[i] i h[i], od kojih jedan sadrži osnovice, a drugi visine trouglova; korisnik zadaje trouglove unošenjem parova (a,h);

6.   u nizu brojeva a[i] pronalaze i ispisuju svi prosti brojevi;

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 (proveriti da li je veličina niza dovoljna za smeštanje svih elemenata). U programima gde se radi sa dva ulazna niza, podrazumevati da su ulazni nizovi iste dužine. Kod ispisivanja niza, ne ispisuje se broj elemenata, već se ispisuju samo elementi niza. Predvideti maksimalni broj elemenata niza (MAX_BR_EL) pri deklaraciji niza. Program treba da ponavlja ceo postupak sve dok se ne unese neka neodgovarajuća vrednost za neki od ulaznih podataka (npr. previše veliki broj za broj elemenata niza). Tip elemenata niza odabrati prema potrebama zadatka, odnosno koristiti proizvoljni tip tamo gde to nije suštinski bitno za sam algoritam. Kandidati koji na odbrani na posebnom listu papira nemaju spremna makar tri različita test primera ne mogu dobiti maksimalan broj poena. Svaki primer treba da sadrži ulazne podatke i očekivani izlaz za te podatke.

Važno: kada se uspešno reši osnovni zadatak, napraviti novi program, koji predstavlja modifikaciju osnovnog programa. Nakon završetka osnovne obrade iz početnog niza/nizova izbaciti sve elemente parne/neparne vrednosti, zavisno od toga da li je redni broj indeksa studenta (unosi se sa glavnog ulaza) paran ili nije. Nakon izbacivanja elemenata ispisati niz i njegovu novu dužinu.

Napomene:

1.   Odbrana drugog domaćeg zadatka je u utorak 12.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 7

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_mod.PAS, koja sadrži tekst modifikovanog programa

06.12.2006. godine                                                                                    sa predmeta