Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 2

Blok 2– klase

Podaci na disku Z moraju biti smešteni u samo nekoliko foldera, folder Ranije, folder Programiranje3
I folder za Računarstvo3.
Napraviti aplikaciju Tacke na folderu Programiranje3\Blok2 (File/ New Project/ Java application … )
U okviru klase Tacke će će biti main metoda.
1. Kreirati klasu Tacka u paketu tacke.
(File/New file/Java class/ ime Tacka)
Obavezna polja klase (private) : položaj tačke: x,y –double
Obavezne metode klase:
 void postavi(a, b)– Postavlja obe koordinate tačke na vrednost argumenata
 get() i set() metode za instancna polja-podatke (postavljanje i očitavanje)
 double rastojanje() - vraća rastojanje tačke od koordinatnog početka;
 double rastojanje(Tacka t) - vraća rastojanje do tačke t
 void Ispisi() ya ispis podataka o tački
 int kvadrant() –pripadnost kvadrantu-1,2,3,4, 0-koordinatni početak, 5-x osa I 6-y osa.
 void centralnaS() - centralna simetrija u odnosu na tacku(0,0);
 transliraj(dx,dy) pomeraj tačke-translacija
 void rotacija(double a) - rotacija oko koordinatnog početka za dati ugao a.
Rotaciju za ugao a tačke (x,y) realizuju formule:
xr=x*cos(a)-y*sin(a);
yr=y*cos(a)+x*sin(a);
 boolean Pripada(tacka t1, tacka t2) - ispituje da li tačka tekućeg objekta, i tačke t1 i t2 pripadaju
jednoj pravoj;
 Tacka najbliza(Tacka[] NizT) Vraća najbližu tačku iz datog niza tačaka

Testirati rad sa klasom Tacka.


Učitati koordinate jedne tačke TG. Formirati niz od 100000 tačaka tako što će se koordinate tih tačaka
postaviti na slučajne vrednosti iz opsega [-1000,1000] . Ispisati raspodelu tačaka po kvadrantima I
uporedi. Ispisati najbližu tačku tački TG. Potom TG preslikati centralno simetrično. Ispisati sada
najbližu tačku tački TG.

2.Napisati realizaciju klase Account (račun), koja evidentira prihode (credit) i rashode (debit) na
računu. Svaku transakciju ispratiti komentarom da li je uspešna, kolika je suma učestvovala u
transakciji i tekuće stanje računa. Specifikacija klase može da bude sledeće strukture:
Account
{ int debit, credit; // credit - prihod, debit – rashod, ukupni iznosi
int balance() // stanje na racunu – razlika prihoda i rashoda
void Mes(int kod, int iznos) // poruka u vezi tekuce transakcije. Kod je šifra poruke
void putMoney(int iznos) // uplata na racun javna metoda
void getMoney(int iznos) // isplata sa racuna javna metoda }

Testirati klasu na sledeći način: Učitavati iznose dok se ne učita 0. Pozitivni iznos znače da je u pitanju
prihod a negativan –rashod.
Na primer za ulaz: 6000 -2500 1000 -4000 -1000
izveštaj može da bude:

Operacija uplate iznosa 6000 je realizovana uspesno!


Vas tekuci bilans je 6000
Operacija podizanja iznosa 2500 je realizovana uspesno!
Vas tekuci bilans je 3500
Operacija uplate iznosa 1000 je realizovana uspesno!
Vas tekuci bilans je 4500
Operacija podizanja iznosa 4000 je realizovana uspesno!
Vas tekuci bilans je 500
Operacija podizanja iznosa 1000 nije realizovana uspesno!
Suma koja se podize ne moze biti veca od bilansa
Vas tekuci bilans je 500

3.Napisati i testirati klasu za rad sa kompleksnim brojevima. Omočućiti osnovne operacije nad
kompleksnim brojevima.

TACKA pomoć
private double x, y;
public void postavi(double a, double b) { x = a; y = b; }
public double GetX () { return x; }
public double GetY () { return y; }
public void SetX (double xx) {x = xx;}
public void SetY ( double yy) { y = yy; }
public double rastojanje() { return Math.sqrt(x*x + y*y);}
public double rastojanje(Tacka t)
{ return Math.sqrt(Math.pow(x-t.x,2) + Math.pow(y-t.y,2)); }

You might also like