You are on page 1of 3

Zadaci

za laboratorijske vebe iz Programskih jezika


Veba 3 (Datoteke i izuzeci)



1. i 9. U paketu matematika kreirati:
Interfejs KvadratnaMatrica u kojem su definisane metode za nalaenje determinante kvadratne matrice, za
tampanje elemenata matrice na standardni izlaz, za uitavanje matrice sa standardnog ulaza (bez upotrebe
klase Scanner), za uitavanje matrice iz binarne datoteke i za upis matrice u binarnu datoteku;
Klasu PunaMatrica, koja implementira interfejs KvadratnaMatrica, koja sadri privatne attribute: dimenziju
matrice i sve elemente matrice. (U ovoj klasi za izraunavanje determinante realizovati rekurzivnu metodu koja
determinantu matrice izraunava metodom razvoja po nultoj koloni).
Funkcije za uitavanje matrica treba, osim izuzetaka koji prijavljuju metode bibliotekih klasa za rad sa ulaznim
tokovima, da prijave i izuzetak ukoliko je uitana dimenzija negativan broj.
U funkciji main (lanici klase koja je definisana van paketa matematika) definisati promenljivu tipa
KvadratnaMatrica, dodeliti joj objekat tipa PunaMatrica i testirati sve funkcije definisane u interfejsu.

2. i 10. U paketu matematika kreirati:
Interfejs Matrica u kojem su definisane metode za nalaenje Kronecker-ovog proizvoda 2 matrice, za uitavanje
matrice iz tekstualne datoteke, za upis matrice u tekstualnu datoteku, za uitavanje matrice iz binarne datoteke i
za upis matrice u binarnu datoteku;
Klasu PunaMatrica, koja implementira interfejs Matrica, koja sadri privatne attribute: dimenzije matrice i sve
elemente matrice.
U funkciji main (lanici klase koja je definisana van paketa matematika) definisati 2 promenljive tipa Matrica, dodeliti
im objekte tipa PunaMatrica i testirati sve funkcije definisane u interfejsu.
NAPOMENA: Argument funkicije za Kronecker-ovo mnoenje je tipa Matrica to znai, da ako objekat nije tipa
PunaMatrica treba prijaviti izuzetak. Napomena: pripadnost objekta nekoj klasi ispituje se operatorom instanceof.

3. I 11. U paketu matematika kreirati:
interfejs Polinom u kojem su definisane sledee metode: za izraunavanje vrednosti polinoma u zadatoj taki, za
nalaenje nule polinoma u zadatom intervalu, za upis podataka o polinomu u tekstualnu datoteku, za upis
podataka o polinomu u binarnu datoteku, za itanje podataka o polinomu iz binarne datoteke i za itanje
podataka o polinomu iz tekstualne datoteke, za itanje atributa polinoma sa standardnog ulaza (bez upotrebe
klase Scanner), za prikaz atributa polinoma na standardni izlaz;
klasu KPolinom, koja implementira interfejs Polinom, koja sadri privatne attribute: stepen polinoma i niz
koeficijenata. (NAPOMENA: vrednost polinom raunati po Hornerovoj emi, a nulu traiti metodom polovljenja
intervala);
U funkciji main (lanici klase koja je definisana van paketa matematika) definisati promenljivu tipa Polinom, dodeliti
joj objekat tipa KPolinom, i testirati sve funkcije definisane u interfejsu. Ukoliko prilikom uitavanja podataka o
polinomu program utvrdi da je stepen polinoma negativan broj, program treba da baci (i uhvati) odgovarajui
izuzetak.



Zadaci za laboratorijske vebe iz Programskih jezika Veba 3 Java Datoteke i izuzeci Verzija 2017

4. i 12. U paketu geometrija kreirati


Interfejs geometrijskoTelo koji sadri metode za izraunavanje povrine i zapremine tela, za upis podataka o telu
u tekstualnu datoteku, za upis podataka o telu u binarnu datoteku, za itanje podataka o telu iz binarne
datoteke i za itanje podataka o telu iz tekstualne datoteke, za uitavanje atributa tela sa standardnog ulaza (bez
upotrebe klase Scanner) i za prikaz atributa tela na standardni izlaz;
Klasu Krug koja u sadri zatieni atribut poluprenik i javne funkcije za izraunavanje povrine i obima kruga.
Klasu Valjak, izvedenu iz klase Krug koja implementiraju interfejs geometrijskoTelo.
U funkciji main (lanici klase definisane van paketa geometrija) definisati promenljivu tipa geometrijskoTelo i
testirati sve funkcije interfejsa geometrijskoTelo. Ukoliko ma koji od uitanih podataka bude negativan broj,
predvideti odgovarajui izuzetak. Samostalno odluiti da li e u svakom od tih sluajeva biti baen izuzetak istog tipa,
ili e postojati poseban tip izuzetka za svaki od podataka. U svakom sluaju kreirati bar jednu sopstvenu klasu za
izuzetak, nasleivanjem odgovarajue biblioteke klase.

5. i 13. U paketu data definisati:
Interfejs collection sadri sledee funkcije za rad sa kolekcijom podataka tipa int: funkciju za dodavanje novog
elementa u kolekciju, funkciju za izbacivanje elementa iz kolekcije. Situacije kada se pokua izbacivanje iz prazne
kolekcije, ili se pokua upis u punu kolekciju, reiti pomou mehanizma izuzetaka (za obe navedene situacije
kreirati sopstvenu klasu za izuzetke). Izuzeci treba da budu hvatani u metodu main.
Apstraktnu klasu Array, koje implementira interfejs collection, a koja sadri zatiene atribute: makimalni broj
eleemnata u nizu, trenutni broj elemenata, i niz elemenata tipa int. U javnom delu ova klasa sadri konstruktor
koji inicijalizuje broj elemenata u nizu i funkciju za dodavanje novog elementa.
Klase Stack i Buffer, izvedene iz klase Array. Razlika je u tome to se iz steka uvek izbacuje poslednji upisani
element ("LIFO" Last In First Out), a iz bafera prvi upisani element ("FIFO" First In First Out).
U funkciji main, koja je definsana u klasi van paketa data, definisati 2 promenljive tipa collection, jednoj dodeliti
objekat klase Stack, a drugoj objekat klase Buffer kapaciteta 10. Stek napuniti podacima proitanim sa standardnog
ulaza, bez upotrebe klase Scanner. Zatim stek isprazniti i izbaene elemente upisati u binarnu datoteku. Zatim iz te
datoteke uitavati podatke i smetati ih u bafer i na kraju bafer isprazniti i izbaene elemente upisati u tekstualnu
datoteku.

6.i 14. U paketu matematika kreirati:
Klasu KvadratnaMatrica, koja sadri privatne attribute: dimenziju matrice i elemente matrice tipa float, i javne
metode: za tampanje elemenata matrice na standardni izlaz, za uitavanje matrice sa standardnog ulaza (bez
upotrebe klase Scanner), za uitavanje matrice iz binarne datoteke, za upis matrice u binarnu datoteku i za
transponovanje matrice.
Funkcije za uitavanje matrica treba, osim izuzetaka koji prijavljuju metode bibliotekih klasa za rad sa ulaznim
tokovima, da prijave i izuzetak ukoliko je uitana dimenzija negativan broj.
U funkciji main (lanici klase koja je definisana van paketa matematika) kreirati objekat klase KvadratnaMatrica i
testirati sve funkcije definisane u klasi.

7. i 15. U paketu geometrija kreirati


Interfejs geometrijskaSlika koji sadri funkcije za izraunavanje obima i povrine geometrijske slike, funkcije za
upis podataka o geometrijskoj slici u binarnu datoteku, za upis podataka o slici u tekstualnu datoteku, za itanje
podataka o slici iz binarne datoteke, za itanje podataka o slici iz tekstualne datoteke, za itanje atributa slike sa
standardnog ulaza (bez korienja klase Scanner) i za prikaz atributa slike na standardni izlaz. Predvideti izuzetke
(kreirati svoju klasu za njih) koji e biti baeni (i uhvaeni u metodu main) u sluaju da je bilo koji podatak o
geometrijskoj slici negativan broj.

2
Zadaci za laboratorijske vebe iz Programskih jezika Veba 3 Java Datoteke i izuzeci Verzija 2017

Klasu KonveksanNtougao koja implementira interfejs geometrijskaSlika i koja u privatnom delu sadri broj
temena n-tougla i vector (x,y) koordinata tih temena.
U funkciji main (lanici klase definisane van paketa geometrija) definisati promenljivu tipa geometrijskaSlika, dodeliti
joj objekat klase KonveksanNtougao i testirati sve funkcije definisane u interfejsu.

8. i 16. U paketu matematika kreirati:
interfejs Polinom u kojem su definisane metode za izraunavanje vrednosti polinoma u zadatoj taki, za
nalaenje prvog izvoda polinoma, za upis podataka o polinomu u tekstualnu datoteku, za upis podataka o
polinomu u binarnu datoteku, za itanje podataka o polinomu iz binarne datoteke , za itanje podataka o
polinomu iz tekstualne datoteke, za uitavanje atributa polinoma sa standardnog ulaza (bez korienja klase
Scanner) i za prikaz atributa polinoma na standardni izlaz. Ukoliko metod utvrdi da je polinom dobio negativan
podatak za stepen, duan je da baci izuzetak.
Klasu KPolinom, koja implementira interfejs Polinom, koja sadri privatne attribute: stepen polinoma i niz
koeficijenata. (NAPOMENA: vrednost polinoma raunati po Hornerovoj emi).
U funkciji main (lanici klase koja je definisana van paketa matematika) definisati promenljivu tipa Polinom, dodeliti
joj objekat tipa Kpolinom i testirati sve funkcije definisane u interfejsu (uz hvatanje moguih izuzetaka).









You might also like