Professional Documents
Culture Documents
Prakticna Nastava - A544
Prakticna Nastava - A544
Vladimir Vujović
Praktična nastava
Ime i prezime: _____________________________________________________________
Broj indeksa: ___________
Strategija čitanja: A5
Strategija upisa: B5
Algoritam: Potencije
Case: 5
Repozitorij: http://78.28.157.8:8081/svn/PN2014/I8/trunk
1
Dežurni asistent: Datum:15.5.2024.
Vladimir Vujović
Inicijalno je kreirana školjka command interpretera, koji radi sa eksternim fajlovima i koji se
/12 preuzima sa zadatog repozitorija. Implementacijom zadatog zadatka, upotpunjuje se određena
______ funkcionalnost programa koji pomoću komandi sa tastature, opcija menija koji se nude, na određeni
∑: _______ način crši modifikaciju podataka učitanih iz eksternog fajla. Obrađene podatke naknadno smiješta u
novi eksterni fajl.
Max: 60/100
2. Učitavanje eksterne datoteke u program (ispitati da li postoji tražena datoteka i da li joj
se može pristupiti, ako to već nije urađeno)
3. Implementirati algoritam za parsiranje/čitanje podataka iz eksterne datoteke
(potrebno poštovati zadati format datoteke za čitanje)
4. Prebacivanje podataka u jednu od zadatih kolekcija
5. Implementirati traženi algoritam za obradu učitanih podataka
6. Implementirati metodu za ispis na ekran
7. Kreirati novu eksternu datoteku
8. Implementirati metodu za ispis u novu eksternu datoteku u (potrebno poštovati zadati
format datoteke za upis)
9. Testirati rješenje
10. Napisati JavaDOC za sve implementirane klase i metode
11. Kreirano rješenje vratiti na SVN (uraditi commit rješenja)
12. Razriješiti moguće konflikte na SVN-u
13. Ispitati funkcionalnost programa (da li program radi)
PROJEKTNI ZADATAK:
a) Sa SVN repozitorijuma skinuti skoljku programa (HEAD revizija).
b) U paketu data.read.implementation kreirati klasu sa imenom A5Strategy koja implementira
interfejs ReadFileStrategyInterface iz paketa data.read.interfaces. Metoda public List
readFile(String path) treba da izvrši čitanje i parsiranje fajla po strategiji „A5“. Strategija „A5“
podrazumijeva fajl koji sadrzi podatke u formatu:
data
a5
a1[2]_b1[2]_c1[0];
a2[4]_b2[1]_c2[2];
a3[2]_b3[2]_c3[3];
...
Za konkretnu implementaciju java.util.List interfejsa koristiti java.util.Vector.
/6 Za ulazni fajl koristiti: data_A5_Potencije.txt.
______
c) U paketu commands.implementation kreirati klasu Potencije koja implementira interfejs
∑: _______ CalculateInterface iz paketa commands.interfaces. Metode za implementaciju:
Max: 18/100
public void menu() Metoda kreira meni koji omogućava da korisnik
izabere: ispisivanje vrijednosti u fal, na konzolu ili
izlazak iz podprograma.
public List<Data> calculate(List<Data> Metoda implementira izračunavanje vrijednosti po
data) zadatom algoritmu.
public void writeToScr(List<Data> data) Metoda ispisuje izračunatu vrijednost na sistemsku
konzolu.
public void writeToFile(List<Data> data) Metoda ispisuje izračunatu vrijednost u eksterni falj.
Algoritam za izračunavanje:
n1=a1^(b1+c1)+b1^(a1+c1)+c1^(a1+b1)
n2=a2^(b2+c2)+b2^(a2+c2)+c2^(a2+b2)
...
d) U klasi InputFile iz paketa data.read u switch strukturi koja provjerava „ A5“ strategiju izvršiti
čitanje fajla, odnosno instanciranje A5Strategy ranije kreirane klase i pozivanje njene metode.
e) U paket data.write ubaciti novu klasu WriteB5Strategy sa statickom metodom public static
String writeToString(List<Double> results) koja vrši ispis podataka iz liste u formatu
strategije „B5“ (uz obavezno zaglavlje):
2
Dežurni asistent: Datum:15.5.2024.
Vladimir Vujović
data
b5
rezultat(1) = n1;
rezultat(2) = n2;
...
Metodu iskoristiti u writeToFile(List<Data> results) metodi CalculateInterface
implementacije.
f) U klasi Calculate iz paketa menudata.implementation u switch strukturi pod slucajem (case) 5
pozivati implementaciju CalculateInterface interfejsa.
Napomena:
3
Dežurni asistent: Datum:15.5.2024.
Vladimir Vujović
4
Dežurni asistent: Datum:15.5.2024.
Vladimir Vujović
Bodovna lista:
Ukupno 100 bodova: 55 ( 6 ), 65 ( 7 ), 75 ( 8 ), 85 ( 9 ), 95 ( 10 )