You are on page 1of 1

Fakultet elektrotehnike, računarstva i informacijskih tehnologija 2.

Kolokvij
Objektno orijentirano programiranje 10.01.2018.

Prezime: Ime: Grupa LV:

Grupa A
# Zadatak (B)
Napisati predložak funkcije koja u predanom joj polju proizvoljne veličine pronalazi i vraća n-
ti najmanji element. Napisati vlastitu klasu koja predstavlja zaslon s informacijama o dimenziji
u inčima te horizontalnoj i vertikalnoj rezoluciji u pikselima. Nasumično generirati polje parnih
1. brojeva od 10 elemenata i pronaći i ispisati 3. najmanji. Također, na polju zaslona od barem 3 20
elementa stvorena parametarskim konstruktorom testirati napisanu funkciju. Redoslijed
√ℎ𝑅𝑒𝑠 2 ∗ 𝑣𝑅𝑒𝑠2
zaslona određuje se prema gustoći piksela (računati prema: 𝑝𝑝𝑖 = 𝑑
).
Napisati klasu koja predstavlja datoteku pjesme s podacima za tip ("mp3","wav",...), ime,
trajanje i veličinu. Napisati klasu koja predstavlja glazbeni svirač s mogućnošću pohrane
pjesama za izvođenje u dinamički alocirano polje. Svirač ima maksimalan kapacitet u Mb koji
se zadaje kroz konstruktor, a nova pjesma se za izvođenje dodaje kao posljednja u nizu. Ima i
mogućnost "izvođenja" svih pjesama, a pjesma se "izvodi" tako da se na konzolu ispiše naziv i
trajanje. U slučaju da će se ubacivanjem nove pjesme u svirač probiti maksimalan kapacitet,
2. 25
podiže se objekt vlastite klase iznimke s odgovarajućom porukom. U slučaju izvođenja
pjesama, ako tip nije "mp3" podiže se vlastita iznimka s vlastitom porukom, ali nakon njene
obrade nastavlja se s izvođenjem ostalih pjesama. Testirati svirač kreiranjem nekoliko pjesama
(2 "mp3" i 1 "wav"), dodavanjem istih u svirač te izvođenjem svih pjesama s popisa. U
potpunosti rukovati iznimkama, u klasama iznimki naslijediti runtime_error klasu iz
standardnog imenika.
[C#] Kreirajte vlastitu klasu koja predstavlja farmu. Farma drži kolekciju životinja, jediničnu
cijenu hrane i jediničnu cijenu proizvoda životinje. Omogućuje dodavanje životinja i uklanjanje
životinja po imenu. Svaka životinja (interface) mora nuditi metodu za dohvaćanje imena,
metodu za dohvaćanje dnevne količine proizvoda (npr. mlijeko) i dnevne potrebne količine
hrane. Kreirajte vlastitu klasu koja predstavljaju kravu. Za svaku kravu zna se ime, dnevna
3. količina hrane i dnevna količina mlijeka koju daje. Testirati kreirane klase tako da se napravi 20
farma krava s nasumično generiranim podacima za svaku kravu (10 krava (ime "krava1"-
"krava"10", [50-100] litara mlijeka, [5-8] kg hrane). Preko reference na farmu omogućiti
računanje i zatim na ekran ispisati koliko je potrebno vremena da farma proizvede 7884 litre
mlijeka prije i nakon prodaje svih neisplativih krava (uklanjanje onih kod kojih je ukupna cijena
proizvedenog niža od ukupne cijene onoga što pojedu) – koristiti metode!.

Napomene: Programski jezik C++. U potpunosti rukovati memorijom. Poštovati pravila enkapsulacije.
Deklaracije u klasi, definicije van klase. Inicijalizacijske liste konstruktora. Izbjeći bespotrebno kopiranje
objekata. Osigurati rad s konstantnim objektima gdje je to moguće.

You might also like