Download - PowerCalculatorF2
![Page 1: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/1.jpg)
Znanstveni kalkulator za mobilne uređaje
Igor BedekSandra BartolotiLuka HorvatVedran Šikić
![Page 2: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/2.jpg)
Ideja Napraviti kalkulator za mobitele koji će
moći konkurirati komercijalnim kalkulatorima
Implementirati parsiranje složenih matematičkih izraza
Implementirati naprednije matematičke operacije
![Page 3: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/3.jpg)
Zahtjevi mobilnost kalkulatora standardno korisničko sučelje algebarske funkcije logaritamske i eksponencijalne funkcije trigonometrijske i area (arcus) funkcije rad u radijanima i stupnjevima mogućnost parcijalne korekcije unesenog
izraza
![Page 4: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/4.jpg)
rad s matricama kompleksnih brojeva unos matrica po uzoru na MATLAB rad sa jednom ili dvije matrice množenje, dijeljenje (direktno množenje sa inverzom),
zbrajanje, oduzimanje matrica, te traženje determinante, inverza i transponirane matrice
zoran prikaz rezultata korisniku (u granicama koje veličina ekrana mobitela dopušta)
Mogućnost parcijalne korekcije unesene matrice rad s bazama brojevnih sustava rad s 4 najčešće korištene brojevne baze (binarna,
oktalna, dekadska, heksadekadska) lak i brz odabir početne brojevne baze sustava što veći raspon(zbog binarnog zapisa)
![Page 5: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/5.jpg)
Analiza problema Aplikacija ima 3 glavna dijela – „standardne”
matematičke operacije, rad sa matricama i rad sa brojevnim sustavima
Svaki dio ima svoje grafičko sučelje Zbog složenosti – program je podijeljen na
nekoliko logičkih cjelina UI dizajn Parser (za matematičke izraze) Matrice Kompleksni brojevi Brojevni sustavi Funkcije za reagiranje na događaje (povezivanje
svih dijelova aplikacije
![Page 6: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/6.jpg)
Podjela posla Grafičko sučelje – Igor Bedek Klase za rad sa matricama,
kompleksnim brojevima i brojevnim sustavima – Vedran Šikić
Računanje matematičkih izraza, izlazne funkcije za prikaz podataka, povezivanje svih ostalih funkcija sa grafičkim sučeljem – Luka Horvat
Dokumentacija i prezentacija na temelju dobivenih podataka – Sandra Bartoloti
![Page 7: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/7.jpg)
Use-case dijagram sustava
![Page 8: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/8.jpg)
Korištene tehnologije C++ - jezgra programa Qt – korisničko sučelje Symbian simulator – testiranje Mobilni telefon – testiranje u prirodnom
okruženju
![Page 9: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/9.jpg)
implementacija
![Page 10: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/10.jpg)
ako je kliknuta brojka ili operator standardnog (computation) načina rada dodaj ga u izraz
ako je kliknuto dugme "=" pozovi funkciju za evaluacija unesenog izraza te prikaži rezultat ukoliko je izraz ispravan, ukoliko nije ispiši grešku evaluiraj
ukoliko se klikne dugme drugog moda rada, promjeni mod rada u zadani
ako je kliknut operator u matrix ili base nacinu rada, evaluira se izraz te se izvršava zadana operacija ukoliko je izraz ispravan
help i about dugmeta prikazuju relevantne informacije o digitronu
![Page 11: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/11.jpg)
Kompleksni brojevi klasa koja definira kompleksni broj imati 4 varijable
koje predstavljaju podatke kompleksnog broja – realni, imaginarni, amplituda i faza
algoritam PretvoriStringUKompleksni (text)x=unesi_i_pretvori_u_broj_znamenke_u_nizu(text)Ako jetexti = "+" ILI ako je texti="-" onda | realni=x |imaginarni=unesi_i_pretvori_u_broj_znamenke_u_nizu(text)inače ako postoji "j" u nizu (text) | imaginarni=x | realni=0inače | realni=x | imaginarni=0vrati kompleksni_broj
![Page 12: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/12.jpg)
Matrice Svaka matrica ima svoje dimenzije Definirane su funkcije za rad sa 2 matrice
Zbrajanje i oduzimanje Množenje
Funkcije nad jednom matricom Množenje skalarom Računanje determinante Transponiranje inverz
![Page 13: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/13.jpg)
Računanje determinante matrice
algoritam RacunajDeterminantu(A)Ako jedimx(A)=1 onda | rjesenje=A1,1
u suprotnom| Za svaki j=1 do dimx(A)| | Ako je i=neparan onda | | | rjesenje=rjesenje+A1,j∙RacunajDeterminantu| | | (RacunajPodmatricu(A,1,j))| | u suprotnom| | | rjesenje=rjesenje-A1,j∙RacunajDeterminantu| | | (RacunajPodmatricu(A,1,j))vratirjesenje algoritamRacunajPodmatricu(A,x,y)k=1dimx(B)=dimx(A)-1dimy(B)=dimy(A)-1Za svaki i=1 dodimx(A)| Za svaki j=1 dodimy(A)| | Ako je i ≠ x Iako je j≠onda| | | m=k / dimx| | | n=k moddimy| | | Bm,n=Ai,j
| | | povećaj k za 1vrati B
![Page 14: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/14.jpg)
Brojevne baze Veza između raznih brojevnih sustava je
spremljena kao dekadska vrijednost broja u cjelobrojnom obliku long zbog veće preciznosti
Svaki podatak koji korisnik unese ima još podatak o bazi u kojoj se nalazi (binarnoj, oktalnoj, dekadskoj ili heksadekadskoj) i vrijednost u obliku u toj bazi spremljenu u obliku stringa
Potrebno je definirati algoritme za računanje dekadske vrijednosti nekog broja iz primljenog stringa i za računanje stringa iz dekadske vrijednosti
![Page 15: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/15.jpg)
Grafičko sučelje U potpunosti izrađeno u Qt frameworku
![Page 16: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/16.jpg)
Parsiranje mat. izraza Parsiranje u RP notaciji pomoću dva stoga Rješavanje složenih matematičkih izraza
kao što su Zbrajanje, oduzimanje, množenje, dijeljenje Rad sa zagradama Trigonometrijske funkcije Logaritam, eksponencijalna funkcija,
potencija, korjen Kontrola grešaka
![Page 17: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/17.jpg)
![Page 18: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/18.jpg)
Matrice
![Page 19: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/19.jpg)
![Page 20: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/20.jpg)
Baza Podržane su pretvorbe
između brojevnih sustava Za pretvorbe, dovoljno je
kliknuti na početnu bazu, unijeti zadani broj, te kliknuti na bilo koju drugu bazu
![Page 21: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/21.jpg)
Testiranje U laboratoriju pomoću MATLAB-a
provjereni su rezultati dobiveni testiranjem Izvan fakulteta, pomoću web-aplikacije
„WolframAplha” također su provjereni rezultati
Nakon simulatora, kreirana je instalacijska datoteka, te je kalkulator instaliran na dva Nokia telefona sa različitim operacijskim sustavima – 5800XM i C7
![Page 22: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/22.jpg)
Sustav pomoći U aplikaciju je ugrađen i kratki sustav
pomoći, a dostupan je i ovdje Video sa prikazom korištenja kalkulatora
na hrvatskom jeziku se može naći ovdje:PowerCalculator
![Page 23: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/23.jpg)
Dokumentacija Unutar aplikacije, sustav pomoći
napisan je u HTML opisnom jeziku Video uputa snimljena je CamStudiom
na simulatoru Dokumentacija na Hrvatskom jeziku
![Page 24: PowerCalculatorF2](https://reader034.vdocuments.pub/reader034/viewer/2022042718/568bdd511a28ab2034b55a7e/html5/thumbnails/24.jpg)
Reference [1] Božidar Patača, Parsiranje Matematičkih Izraza, Osijek, 2010. [2] Dragan Jukić, Rudolf Scitovski: Matematika 1, Osijek, 2004. [3] Introduction to Algorithms T. Cormen, C. Leiserson, R. Rivest,
C Stein, MIT, 2009. [4] Nokia’s Qt online dokumentacija: http://doc.qt.nokia.com/ [5] Aalat za snimanje ekrana CamStudio pronađen na:
http://camstudio.org/ [6] Besplatni UML alat:http://www.umlet.com/ [7] Stringtutorial:
http://www.cplusplus.com/reference/string/string/ [8] MATLAB: http://www.mathworks.com/products/matlab/ [9] Dev-C++: http://www.bloodshed.net/devcpp.html [10] Microsoft Office: http://office.microsoft.com/en-us/