Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


Objektno programiranje, Ispiti od Objektno orijentisano programiranje

Objektno orijentisano programiranje

Tipologija: Ispiti

2018/2019

Učitan datuma 02.11.2019.

milosh-frzhovi
milosh-frzhovi 🇧🇦

3 dokumenti

1 / 3

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
UNIVERZITET U ISTOČNOM SARAJEVU
ELEKTROTEHNIČKI FAKULTET
Objektno orijensano programiranje
24. april 2018. god.
Položili ako osvojite 50 bodova. Predviđeno vrijeme izrade je 3 sata.
Ukoliko završite za 1 sat, bodovi koje osvojite biće pomnoženi sa faktorom 1.10.
Ukoliko se vaš kod ne bude mogao kompajlira bez grešaka, bodovi koje osvojite biće pomnoženi sa
koecijentom 0.90.
Potrebno je napisa program za privrednog subjekta, koji se bavi konguracijom i prodajom
kompjuterske opreme...
a. Sve klase koje budete pisali treba da se nalaze u namespace-u sa oznakom
ETF.OOP_24_04_18.NN.XX,
gdje su NN vaši inicijali, a XX ime klase. Namespace klase Program treba preimenovati u
ETF.NN.
*Napomena: Ukoliko ste dobili neke klase, njihove namespace-ove NE SMIJETE preimenovati.
b. Definisati klasu Artikal u koju će te izvući sva zajednička svojstva klasa Kompjuter,
KompjuterskaOprema i Procesor.
c. Definisati klasu Kompjuter:
1. Klasa treba da sadrži promenljive/polja:
cijena (realan broj >= 0) vidljivo na nivou bazne klase
i izvedenih klasa
naziv (neprazan string) nije vidljivo na nivou
objekta ReadOnly
novo (jeste ili nije) – vidljivo na svim nivoima WriteOnly
lokacija (neprazan string) – vidljivo na nivou objekta
2. Za sve promenljive kreirati odgovarajuće property-e (voditi računa o prosleđenim
vrijednostima).
3. Definisati ReadOnly indexer da vraća vrijednosti pomjenjivih cijena, naziv, novo i
lokacija kao string. Npr. k[0] vraća cijenu, k[1] vraća naziv itd. pri čemu je k objekat
tipa Kompjuter.
4. Napisati jedan konstruktor kome se prosleđuju svi potrebni parametri.
5. Definisati metode:
SortirajPoCijeni ova funkcija sortira niz Kompjutera po cijeni
zajednička na nivou klase.
SortirajPoNazivu ova funkcija sortira niz Kompjutera po nazivu
zajednička na nivou klase
*Napomena: Obezbjedi da se sve metode mogu predenisa.
6. Predefinisati operator > tako da poredi dva Kompjutera po cijeni i operator > kad se
nađe između objekta tipa Kompjuter i float (cijena).
7. Predefinisati metodu ToString() tako da vraća string u formatu:
<Naziv> <Cijena> KM
d. Definisati klasu KompjuterskaOprema:
1. Klasa treba da sadrži promenljive/polja:
cijena (realan broj >= 0) vidljivo na nivou bazne klase
i izvedenih klasa
naziv (neprazan string) nije vidljivo na nivou
objekta – ReadOnly
marka (neprazan string) – vidljivo na nivou bazne klase
private jer je bazna za ovo polje
novo (jeste ili nije) – vidljivo na svim nivoima – WriteOnly
*Napomena za SVE studente: Imena svih promjenjivih koje budete koristili, ukoliko njihova
imena nisu data u tekstu zadatka, treba da budu smislena (npr. NE označavati broj studenata sa n,
BODOVI
ISPIT
5251010
pf3

Delimični pregled teksta

Preuzmite Objektno programiranje i više Ispiti u PDF od Objektno orijentisano programiranje samo na Docsity!

UNIVERZITET U ISTOČNOM SARAJEVU

ELEKTROTEHNIČKI FAKULTET

Objektno orijen�sano programiranje

  1. april 2018. god.

Položili ako osvojite50 bodova. Predviđeno vrijeme izrade je 3 sata. Ukoliko završite za1 sat, bodovi koje osvojite biće pomnoženi sa faktorom 1.10. Ukoliko se vaš kod ne bude mogao kompajlira� bez grešaka, bodovi koje osvojite biće pomnoženi sa koeficijentom 0.90.

Potrebno je napisa� program za privrednog subjekta, koji se bavi konfiguracijom i prodajom kompjuterske opreme...

a. Sve klase koje budete pisali treba da se nalaze u namespace-u sa oznakom ETF.OOP_24_04_18.NN.XX, gdje su NN vaši inicijali, a XX ime klase. Namespace klase Program treba preimenovati u ETF.NN. _Napomena:_* Ukoliko ste dobili neke klase, njihove namespace-ove NE SMIJETE preimenovati.

b. Definisati klasu Artikal u koju će te izvući sva zajednička svojstva klasa Kompjuter , KompjuterskaOprema i Procesor.

c. Definisati klasu Kompjuter :

  1. Klasa treba da sadrži promenljive/polja:
    • cijena (realan broj >= 0) – vidljivo na nivou bazne klase i izvedenih klasa
    • naziv (neprazan string) – nije vidljivo na nivou objekta – ReadOnly
    • novo (jeste ili nije) – vidljivo na svim nivoima – WriteOnly
    • lokacija (neprazan string) – vidljivo na nivou objekta
  2. Za sve promenljive kreirati odgovarajuće property-e (voditi računa o prosleđenim vrijednostima).
  3. Definisati ReadOnly indexer da vraća vrijednosti pomjenjivih cijena, naziv, novo i lokacija kao string. Npr. k[0] vraća cijenu, k[1] vraća naziv itd. pri čemu je k objekat tipa Kompjuter.
  4. Napisati jedan konstruktor kome se prosleđuju svi potrebni parametri.
  5. Definisati metode:
    • SortirajPoCijeni – ova funkcija sortira niz Kompjutera po cijeni – zajednička na nivou klase.
    • SortirajPoNazivu – ova funkcija sortira niz Kompjutera po nazivu – zajednička na nivou klase _Napomena:_* Obezbjedi� da se sve metode mogu predefinisa�.
  6. Predefinisati operator > tako da poredi dva Kompjutera po cijeni i operator > kad se nađe između objekta tipa Kompjuter i float (cijena).
  7. Predefinisati metodu ToString() tako da vraća string u formatu: KM

d. Definisati klasu KompjuterskaOprema :

  1. Klasa treba da sadrži promenljive/polja:
    • cijena (realan broj >= 0) – vidljivo na nivou bazne klase i izvedenih klasa
    • naziv (neprazan string) – nije vidljivo na nivou objekta – ReadOnly
    • marka (neprazan string) – vidljivo na nivou bazne klase private jer je bazna za ovo polje
    • novo (jeste ili nije) – vidljivo na svim nivoima – WriteOnly *Napomena za SVE studente: Imena svih promjenjivih koje budete koristili, ukoliko njihova

BODOVI

ISPIT

  • lokacija (neprazan string) – vidljivo na nivou objekta
  1. Za sve promenljive kreirati odgovarajuće property-e (voditi računa o prosleđenim vrijednostima).
  2. Definisati ReadOnly indexer da vraća vrijednosti pomjenjivih cijena, naziv, marka, novo i lokacija kao string. Npr. k[0] vraća cijenu, k[1] vraća naziv itd. pri čemu je k objekat tipa KompjuterskaOprema.
  3. Napisati jedan konstruktor kome se prosleđuju svi potrebni parametri.
  4. (^) Definisati metode:
  • SortirajPoCijeni – ova funkcija sortira niz KompjuterskeOpreme po cijeni – zajednička na nivou klase.(nestatička)...zajednička na nivou objekta bi bila statička
  • SortirajPoNazivu – ova funkcija sortira niz KompjuterskeOpreme po nazivu – zajednička na nivou klase _Napomena:_* Obezbjedi� da se sve metode mogu predefinisa�.
  1. Predefinisati operator > tako da poredi dva objekta KompjuterskeOpreme po cijeni i operator > kad se nađe između objekta tipa KompjuterskeOpreme i float (cijena).
  2. Predefinisati metodu ToString() tako da vraća string u formatu: KM ()

e. Definisa� klasu Procesor :

  1. Klasa treba da sadrži promenljive/polja:
    • cijena (realan broj >= 0) – vidljivo na nivou bazne klase i izvedenih klasa
    • naziv (neprazan string) – nije vidljivo na nivou objekta – ReadOnly
    • marka (neprazan string) – vidljivo na nivou bazne klase
    • novo (jeste ili nije) – vidljivo na svim nivoima – WriteOnly
    • model (neprazan string)
    • frekvencija (u kHz)
    • broj_jezgri (>=1)
    • namjena (0-PC, 1-LapTop, 2-Server, 3-Ostalo)
    • lokacija (neprazan string) – vidljivo na nivou objekta
  2. (^) Za sve promenljive kreirati odgovarajuće property-e (voditi računa o prosleđenim vrijednostima).
  3. Za frekvenciju definisati dodatni property koji postavlja i vraća frekvenciju u GHz (1GHz = 10 9 Hz).
  4. Definisati ReadOnly indexer da vraća vrijednosti pomjenjivih cijena, naziv, novo i lokacija kao string. Npr. k[0] vraća cijenu, k[1] vraća naziv itd. pri čemu je k objekat tipa Procesor.
  5. (^) Napisati jedan konstruktor kome se prosleđuju svi potrebni parametri.
  6. Definisati metode:
  • SortirajPoCijeni – ova funkcija sortira niz Procesora po cijeni – zajednička na nivou klase.
  • SortirajPoNazivu – ova funkcija sortira niz Procesora po nazivu – zajednička na nivou klase _Napomena:_* Obezbjediti da se sve metode mogu predefinisati.
  1. Predefinisati operator > tako da poredi dva Procesora po cijeni i operator > kad se nađe između objekta tipa Procesor i float (cijena).
  2. Predefinisati metodu ToString() tako da vraća string u formatu: KM (: GHz x )

f. U Main metodi omogućiti korisniku da unese proizvoljan broj Artikala, a potom ih sortirane ispisati. _Napomena:_* koristiti predefinisane operatore i metode.

g. Omogućiti korisniku da pretraži (izlista) artikle prema zadatoj min i max cijeni.

*Napomena za SVE studente: Imena svih promjenjivih koje budete koristili, ukoliko njihova