You are on page 1of 11

MATEMATIČKI OBJEKTI U

JAVASCRIPT
SEMINARSKI RAD IZ RAČUNALNOG PRAKTIKUMA

SPLIT, 2008.
Uvod

Sadržaj

1. UVOD......................................................................................................................................3
2. MATH OBJECT.....................................................................................................................4
2.1.JAVASCRIPT OBJECT MATH....................................................................................................4
2.2. OGRANIČENJA........................................................................................................................4
2.3. KADA KORISTITI MATH U JAVASCRIPT I ZAŠTO?..................................................................4
2.4. RANDOM BROJEVI..................................................................................................................5
2.5. ROUNDING BROJEVI...............................................................................................................5
2.6. SPECIJALNE BROJČANE VRIJEDNOSTI.....................................................................................6
2.7. NE ZNAMO MNOGO O TRIGONOMETRIJI?................................................................................6
2.7.1. Trigonometrijska inverzija.............................................................................................7
3. TABLICA....................................................................................................................................8
3.1. MALI SAŽETEK.......................................................................................................................8
3.2. SAŽETAK METODA................................................................................................................8
4. ZAKLJUČAK...........................................................................................................................10
5. Literatura....................................................................................................................................11

1
Uvod

1. Uvod
Matematika je moć! Tako govori jedan od brojnih oglasa na Internetu. JavaScript ima toliku
snagu da može obavljati sve funkcije kao i normalno džepno računalo, tj. kalkulator a i više od
toga. Math objekt u JavaScriptu omogućava da se izvode računske operacije pomoću određenih
metoda, funkcija u Math objektu. Također, ona nudi nekoliko konstanta kao što je pi. Većina
funkcija ima jedan ili više parametara, kao što je "x". Možemo zamijeniti x sa brojem ili
varijablom.
Ugrađeni matematički objekti uključuju matematičke konstante i funkcije.
Ovaj rad se fokusira na matematičke (Math) objekte. U radu se nalazi kompletni unos svih
svojstva i metode, koje se mogu koristiti, a kao primjer mogu pružili neke jednostavni programi.

2
Math object

Math Object
Sad ćemo detaljnije objasniti matematičke metode.

2.1. JavaScript Object Math

Matematika je ugrađena u objekt koji ima svojstva i metode za matematičke konstante i


funkcije. Npr. Matematički objekt PI ima svojstvo vrijednosti pi.
Kad koristimo Math, važno je da ne zaboravimo da su sva svojstva i metode iz Math statičke.
Svojstva su definirana s punom preciznošću stvarnih brojeva u JavaScript. Više na preciznost
kasnije. Često se nalazimo u situaciji kada u dijelu koda treba koristi nekoliko Math svojstva i
metoda, a to radimo tako da ne moramo upisivati riječ 'Math' više puta, nego to radimo na ovaj
način:
with (Math) {
a = PI * r*r
y = r*sin(theta)
x = r*cos(theta)
b = a + y/x
}

2.2. Ograničenja

Prije nego što se počne s radom na primjerima i mnogo više, treba se prvo adresirati ograničenja
korištenja Math u JavaScripti.
Jedan od zanimljivih karakteristika JavaScripta je ta, da se preciznost koristi kao presuda
točnosti svojih izračunatih algoritama što je značajno niže od onoga u drugim programskim
jezicima.
Na primjer Authorware, Turbo Pascal, Excel pa čak i Word6 će izračunati ispravno sljedeće,
množenjem:
0,119 od 100 u JavaScript se procjenjuje na 11,899999.

0.14 od 100 u JavaScript se procjenjuje na 14.0000000000002.

Normalno u JavaScript vrijednost ima preciznost na 16 znamenki, i ovo samo izgleda kao da se
ograničenja koriste samo rutinski.

2.3. Kada koristiti Math u JavaScript i zašto?

Korištenje Math u JavaScript može biti dobro i korisno. To je zgodna i jednostavna metoda, ali
još uvijek daje neke prilično velike izazove.

3
Math object

S Math, ti mmožeš početi s onim funkcijama, koje nam daju slučajan broj (pseudo-random to je).
Možete koristiti ovo za random(slučajnu) funkciju, prikazivanje slučajnih slika i još mnogo toga.

2.4. Random brojevi

Sada ćemo pokazati kako biste dobili pseudo-random broj između 0 i 1. Kod za taj primjer je:

//Vraća random broj između 0 i 1


function getRandom() {
return Math.random();

U ovom i drugim primjerima moramo napraviti funkciju getRandom() koja lakše koristi
navedenu metodu. U tom slučaju ne trebamo pisati 'Math'.

Korištenje getRandom() funkcije je jednostavno samo po sebi:

alert(getRandom());

var a = getRandom();

2.5. Rounding brojevi

U drugim slučajevima, možda ćete željeti da se broj zaokružuje na najbliži cijeli broj, ovaj mali
primjer pokazat će vam kako to napravit:

document.write ('<P>Zaokružena vrijednost je ' + Math.round(20.49));


//Prikazuje vrijednost 20
document.write ('<P> Zaokružena vrijednost je ' + Math.round(20.5));
//Prikazuje vrijednost 21
document.write ('<P> Zaokružena vrijednost je ' + Math.round(-20.5)):
//Prikazuje vrijednost -20
document.write ('<P> Zaokružena vrijednost je ' + Math.round(-20.51)):
//Prikazuje vrijednost -21

Ako djelomični dio broja je .5 ili veći, argument je zaokružen na sljedeći najviši broj. Ako je
djelomični dio broja manji od .5, argument je zaokružen na sljedeći cijeli najniži broj.

Zbog round() koja je statička metoda Math, uvijek se koristi kao Math.round(), radije nego kao
metoda jednog Math objekt kojeg ste stvorili. Drugim riječima, sljedeće je pogrešno:

var a = 13;

4
Math object

a.round();

I uzrokovat će grešku u JavaScriptu.

2.6. Specijalne brojčane vrijednosti

Postoji nekoliko posebnih brojčanih vrijednosti koje koristi JavaScript. Kada floating-point
vrijednost postaje veća od najvećeg prikazanog tipa, rezultat je posebna vrijednost,
beskonačnost,JavaScript ispisuje kao Infinity. Slično tome, kada negativna vrijednost postaje
veća od najvećeg negativnog broja, rezultat je negativna beskonačnost, kao -Infinity.

Druga posebna JavaScript brojčana vrijednost je vraćanje, kad matematička operacija (kao što je
podjela po nulama) donosi jedan rezultat nedefiniran ili pogrešan. U ovom slučaju, rezultat je
posebna Not-a-Number (nije broj) vrijednost, tiskana kao NaN. Posebna Not-a-number vrijednost
ima specijalno ponašanje: ne uspoređiva jednako bilo koji broj, uključujući i sebe! Zbog toga,
posebna funkcija isNaN() je obvezan test za ovu vrijednost. U Navigator 2,0, NaN vrijednost i
isNaN() ne rade ispravno na Windowsima i drugim platformama. Na 2,0 Windows platforme, 0
se vraća umjesto NaN kada brojčana vrijednost je nedefinirana. Slično tome, NaN ne radi u
Internet Explorer 3,0, iako će u budućim verzijama raditi. U IE 3,0 isNaN() uvijek vraća false, i
0 se vratila umjesto NaN.
U Navigator-u 3.0 (ali ne i u IE 3.0), tu su konstante definirane za svaku od tih posebnih
brojčanih vrijednosti. Ove konstante su navedene u nastavku:

Konstanta Značenje
Number.MAX_VALUE Najveća brojčana vrijednost
Number.MIN_VALUE Najmanja brojčana vrijednost
Number.NaN Specijalna vrijednost NaN
Number.POSITIVE_INFINITY Vrijednost koja predstavlja beskonačnost
Number.NEGATIVE_INFINITY Vrijednost koja predstavlja negativnu beskonačnost

2.7. Ne znamo mnogo o trigonometriji?

To nije problem iako trigonometrija nije jednostavna za rad , ali JavaScript, daje nekoliko
metoda, koje će u osnovi obaviti većinu posla za nas.
Recimo da želimo sinus nekog broja:

//Vraća vrijednost sinus od broja


function getSine(x) {

5
Math object

return Math.sin(x);
}
Sin() metoda vraća brojčanu vrijednost između -1 i 1, što predstavlja sinus od argumenta. Zbog
toga sin () je statička metoda Math, treba je uvijek koristi kao Math.sin (), radije nego kao
metodu jednog Math objekta koji ste stvorili.
Ako želite pronaći kosinus ili tangens od x, jednostavno samo zamijenite Math.sin () s bilo
Math.cos() ili Math.tan ().

2.7.1. Trigonometrijska inverzija

U stvarnom svijetu math, te u JavaScript Math, tu je i inverzija trigonometrijskih funkcija npr.


acos. Acos() metoda vraća u arccosinus (u radianima za broj). Ako zbog nekog razlog želite
koristiti ovo na stranici, možete učiniti sljedeće:
function getAcos(x) {
return Math.acos(x);
}
Acos () metoda vraća brojčanu vrijednost između 0 i pi radijana. Ako je vrijednost broja izvan
raspona, vraća 0.
Ako prođe -1 do getAcos (), vraća 3,14159265389793; ako prođe 2, vraća 0, jer je 2 izvan
granica.
Ako želimo pronaći arcsin ili arctan (u radijanima), jednostavno samo zamijenimo acos () s bilo
asin () ili atan ().

6
Math object

3. Tablica

U nastavku slijede tablice gdje su prikazane vrijednosti konstanta te sažetak metoda.

3.1. Mali sažetek

Ovdje je tablica Math vrijednosti:


Konstanta Primjer koda Vrijednost Opis
E Math.E; 2.718281828459045 Math.E vraća Eulerovu konstantu
Math.LN2 vraća vrijednost prirodnog
LN2 Math.LN2; 0.6931471805599453
logaritma baze 2
Math.LN10 vraća konstantnu vrijednost
LN10 Math.LN10; 2.302585092994046
prirodnog logaritma baze 10.
Math.LOG2E vraća logaritamsku vrijednost
LOG2E Math.LOG2E; 1.4426950408889634
od E baze 2.
Math.LOG10E vraća logaritamsku vrijednost
LOG10E Math.LOG10E; 0.4342944819032518
od E baze 10.
PI Math.PI; 3.141592653589793 Math.PI vraća vrijednost konstante PI.

SQRT1_2 Math.SQRT1_2; 0.7071067811865476 Math.SQRT1_2 vraća kvadratni korijen 0.5.

SQRT2 Math.SQRT2; 1.4142135623730951 Math.SQRT2 vraća kvadratni korijen 2.

Vrijednosti se koriste kao što je sljedeći primjer:


//Daje vrijednost od PI
function getPi() {
return Math.PI;
}

U tom primjeru se samo zamijeni PI sa bilo kojom drugom Math vrijednosti koja je navedena.

3.2. Sažetak Metoda


Metoda Objašnjenje
abs(x) Vraća apsolutnu vrijednost od x.
acos(x) Vraća arccos od x u radijanima.
asin(x) Vraća arcsin od x u radijanima.

atan(x) Vraća arctan od x u radijanima.

7
Math object

atan2(y, x) Vraća kut između osi x i točka (x, y),suprotno kazaljci sata.

ceil(x) Vraća najmanji cijeli broj veći ili jednak x. (zaokružuje vrijednost).

cos(x) Vraća cosinus od x,gdje je x u radijanima.

exp(x) Vraća ex

floor(x) Vraća najveći cijeli broj manji od ili jednak x. (zaokružuje manju
vrijednost)
log(x) Vraća prirodni logaritam (baze E) od x.

max(a, b) Vraća veći od brojeva (a ili b).

min(a, b) Vraća manji od brojeva (a ili b).

pow(x, y) Vraća Xy

random() Vraća pseudorandom brojeve između 0 i 1.

round(x) Kruga x gore ili dolje na najbliži cijeli broj. Od .5 se zaokružuje na veći
broj.
sin(x) Vraća sin od x,gdje je x u radijanima.

sqrt(x) Vraća kvadratni korijen od x.

tan(x) Vraća tan od x,gdje je x u radijanima.

Pomoću ove metode, kao u random ili rounding brojeva primjer, ili u nastavku, to će vratiti
kvadratni korijen X.

//Vraća kvadratni korijen od danog broja


function getRoot(x) {
return Math.sqrt(x);

4. Zaključak

8
Math object

Nadam se da će ovaj mali sažetak o matematičkom objektu u radu pomoći za razumijevanje


matematićke metode i svojstva u JavaScript.

JavaScript koristimo zbog vizualnog usavršavanja stranica. Omogućava jednostavno


programiranje događaja, objekata, definiranje raznih akcija i funkcija na klijent računalu. Široko
je rasprostranjen i lako se uči, tako da s programiranjem u JavaScriptu neće imat puno poteškoća
onaj tko još nezna dobro programirat ili pak ima problema s matematikom, s trigonometrijskim
funkcijama i slično. JavaScript je jedan od najpopularnijih skriptnih jezika i podržava ga većina
pretraživača, ali u praksi se događa da neki pretraživači ne podržavaju sve mogućnosti
JavaScripta ili ih ne podržavaju na standardom definiran način.

9
Literatura

5. Literatura
Danny Goodman, Michael Morrison; JavaScrip Bible 6th Edition; Wiley Publishing,Inc.;
Indianapolis Indiana; 2007.
Emily Vander Veer; JavaScrip for Dummies 4th Edition; Wiley Publishing, Inc.; Indianapolis
Indiana; 2005.
Nicholas C. Zakas; JavaScrip for Web Developers; Wiley Publishing,Inc.; Indianapolis Indiana;
2005.
David Flanagan; JavaScrip the Definitive Guide 5th Edition; O`Reilly; 2006.
JavaScript Priručnik (Tutorijal); http://www.adsoglasi.com/html/javascript_prirucnik/; 1.06.2008.
JavaScript; http://laris.fesb.hr/Claroline-1.3.1/INT01_SVI05/document/internet/javascript.htm;
1.06.2008.
JavaScript Tutorijali; http://www.tutoriali.biz/javascript.php?page=1; 31.05.2008.
JavaScript; http://kod887x.50webs.com/arhive/javascript.htm; 31.05.2008.
JavaScript.com; http://www.javascript.com/; 2.06.2008.
TOPXML:JavaScript Math Object Functions;
http://www.topxml.com/javascript/javascript_math_functions.asp; 31.05.2008.
JavaScripts by Java-Scripts.net:Free JavaScripts,Tutorials, Examples, and resources;
http://www.java-scripts.net/; 31.05.2008.

You might also like