OO1PP1 –
DZ2 Rok
za izradu: 28.11.2008.
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, koji:
0. izračunava dužinu izlomljene linije u ravni; linija je predstavljena 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] pronalazi i ispisuje 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 srednju
vrednost trećeg stepena onih članova niza koji su deljivi brojem p, koji korisnik unosi sa glavnog ulaza;
3. u nizu brojeva a[i] pronalazi i ispisuje sve uređene trojke (a,b,c) za koje važi c=a*b;
4. pronalazi trougao najveće površine
i ispisuje tu površinu; trouglovi su predstavljeni pomoću dva niza realnih
vrednosti a[i] i h[i],
od kojih prvi sadrži osnovice, a drugi visine trouglova; korisnik
zadaje trouglove unošenjem parova (a,h);
5. izračunava i ispisuje zbir cifara
svakog elementa u nizu brojeva a[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 učitati broj elemenata, a zatim i
same elemente niza (proveriti da li je veličina niza dovoljna za smeštanje svih
elemenata). U programima gde postoje dva ulazna niza, podrazumevati da su
ulazni nizovi iste dužine. Kod ispisivanja niza, ne treba ispisivati broj
elemenata, već samo elemente niza. Predvideti maksimalni broj elemenata niza (MAX_BR_EL) pri
deklaraciji niza. Program treba da ponavlja ceo postupak sve dok korisnik ne
unese neku neodgovarajuću 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: po uspešnom rešavanju osnovnog zadatka, napraviti
novi program, koji predstavlja modifikaciju osnovnog programa. Nakon završetka
osnovne obrade iz početnog niza/nizova izbaciti sve elemente na parnim/neparnim
indeksima, zavisno od toga da li je redni broj indeksa studenta (unosi korisnik
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 petak, 28.11.2008. godine. Tačni termini za sve studente su objavljeni u okviru sistema WebLab..
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 6
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
17.11.2008. godine sa predmeta