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