elso oldal
„ELSŐOLDAL” PROJEKT
< Programozás > < Túraproject > < CSS > < JQuery > < Javascript > < PHP > < Táblázatok >
programozás

JavaScript matematika alapismeretek

A JavaScript rendelkezik beépített matematikai objektummal, neve: Math
A Math objektum számos olyan matematikai programmal rendelkezik, mely megkönnyíti a matematikai számítások eredményének kiértékelését.
A Math objektumban található programokközött vannak matematikai állandókat és függvényeket tartalmazó képletek.

Megjegyzés:
A Math nem valódi objektum, azaz nem hozhatunk létre belőle saját példányt.
Más szóval: programunk elküldi a Math-ot, menjen el a JavaScript matematikai képlettárába és az általunk meghatározott képletet hozza el, majd ezzel számolja ki a matematikai képletünk eredményét.

Gyakran használt matematikai műveletek jelei
+ Összeadás
- Kivonás
* Szorzás
/ Osztás
% Maradékképzés
++ Növelés
-- Csökkentés
>> egyszerűen kettővel osztja a számot, az előjelet megtartva.
>>> jobbra tolja a számot, és balról nullákkal tölti fel, tehát az előjel megváltozhat!

A növelés és csökkenés műveleteket, legfőképp ciklusoknál alkalmazzuk, ahol a programlefutás után automatikusan növelhetjük, vagy csökkenthetjük a változó eredeti értékét.

Matematikai konstansok és függvények

Math:
Matematikai
konstansok
tárháza.

Math.E, A természetes alapú logaritmus alapja (kb. 2.718)
Math.LN2, A kettő természetes alapú logaritmus alapja (kb. 0.693)
Math.LN10, A tíz természetes alapú logaritmusa (kb. 2.302)
Math.LOG2E, Az E kettes alapú logaritmusa (kb. 1.442)
Math.LOG10E, Az E természetes alapú logaritmusa (kb. 0.434)
Math.PI, Kör kerület, és átmérő hányadosa (kb. 3.14159)
Math.SQRT1_2, Az egyketted négyzetgyöke (kb. 0.707)
Math.SQRT2, A kettő négyzetgyöke(kb. 1.4142)

Math:
Matematikai
függvények
tárháza.

Algebrai függvények:
Math.acos(szám), egy szám arkusz koszinuszát adja meg radiánba
Math.asin(szám), egy szám arkusz szinusát adja meg
Math.atan(szám), egy szám arkusz tangensét adja meg
Math.cos(szám), egy szög koszinusát számolja ki
Math.sin(szám), egy szög szinuszát számolja ki
Math.tan(szám). egy szög tangensét számolja ki

Statisztikai és logaritmikus függvények:
Math.exp(szám), az e-t a természetes alapú logaritmus alapját, emeli fel a kívánt hatványra.
Math.log(szám), egy szám természetes alapú logaritmusát adja vissza
Math.max(a, b), két szám közül a nagyobbat választja ki
Math.min(a, b), két szám közül a kisebbet választja ki

Kerekítési és egyszerű matematikai függvények:
Math.abs(szám), egy szám abszolút értékét adja meg.
Math.ceil(szám), felfelé kerekíti a számot a legközelebbi egészhez.
Math.floor(szám), lefelé kerekíti a számot a legközelebbi egészhez.
Math.pow(a, b), megadott hatványra emel egy számot.
Math.round(szám), a legközelebbi egészhez kerekíti a számot.
Math.sqrt(szám), a szám négyzetgyökét számolja ki.

Véletlenszámok függvénye:
Math.random(), egy 0 és 1 közötti véletlen számot ad vissza.

Véletlenszám tagfüggvénye:
- Math.random() Véletlen számot hoz létre 0 és 1 között
Ezen függvénynek nem kell bemeneti értéket megadni, azaz nem kell változót alkalmazni.
A gyakorlatban olyan egész számot szeretnénk, mely 1 és a megadott szám közé esik.

Erre egy, egyszerű példa:
function rand(szam) {
return Math.floor(Math,random() * num) + 1 ;
}

num = egy változó értékével, melyet mi határozunk meg.
A véletlen számot megszorozzuk az általunk megadott számmal, ezt a Math.floor() ffüggvény 1 és az általunk megadott szám közötti, egész számmá alakítja.

Matematikai feladatmegoldó operátorok

Összeadás (+)
Az összeadás kétoperandusú művelet. Számokat ad össze,
z=3+4; // z egyenlő 7-tel
és karakterfüzéreket láncol össze.
z="3"+"4"; //z egyenlő 34-gyel
udv="Hel"+"lo";> // az udv megegyezik a "Hello"-val

Kivonás (-)

Ha kétoperandusú műveletként használjuk, akkor a kivonás (-) művelettel két számot vonhatunk ki egymásból.
x=4-3; // x egyenlő 1-gyel
x=3-4; // x egyenlő -1-gyel

Ha egyoperandusú műveletként használjuk, akkor ez az operátor a pozitív számot negatívvá konvertálja, illetve fordítva.

x=6;
y=-x; // y egyenlő -6-tal
z=-y; // z jelen esetben megegyezik 6-tal
Ha az operátort nem szám típusú értékekkel használjuk, akkor megpróbálja kiszámolni a különbséget olyan módon, hogy szám típusú értékké alakítja azokat.

Szorzás (*)

A szorzás (*) kétoperandusú művelet, amelynek segítségével két számot szorozhatunk össze.
z=2*3; // z egyenlő 6-tal

Ha az operátort nem szám típusú értékekkel használjuk, akkor megpróbálja kiszámolni a szorzatot olyan módon, hogy szám típusú értékké alakítja azokat.

Osztás (/)

Az osztás (/) olyan kétoperandusú művelet, amely az első operandust elosztja a másodikkal.
z=6/3; // z egyenlő 2-vel
z=3/2; // z egyenlő 1.5-del
A nullával való osztás speciális értéket eredményez.
z=3/0; // z POSITIVE_INFINITY-vel vagy NEGATIVE_INFINITY-vel egyenlő
z=0/0; // z NAN-nal egyenlő

Ha ez operátort nem szám típusú értékekkel használjuk, akkor megpróbálja kiszámolni a hányadost olyan módon, hogy szám típusú értékké alakítja azokat.

Maradékos osztás (%)

A maradékos osztást (%) szokás modulo-műveletnek is nevezni. A két operandus osztása során keletkezett maradékot adja vissza.
z=7%2; // z egyenlő 1-gyel
z=6%2; // z egyenlő 0-val

Ha az operátort nem szám típusú értékekkel használjuk, akkor megpróbálja kiszámolni a maradékot olyan módon, hogy szám típusú értékké alakítja azokat.

Az érték növelő (++), csökkentő (--) operátor a hozzá kapcsolódó értékhez hozzáad egyet, vagy kivon belőle egyet.

Ha az operátor elöl áll, akkor először történik meg az érték növelése.
Ha viszont hátul áll az operátor, akkor előbb az értékadás (b = a) valósul meg, és utána mellesleg nő az "a" változó értéke 1-gyel.

Hasonlóképpen az értékcsökkentő operátornál.

Példa:
Az operátor kék színnel van kiemelve.
a = ++a;
b = a++;

Számérték 1-el, azaz eggyel történő növelése. (++)
- Inkrementálás

Egy számértékkel történő növelés (++) egyoperandusú művelet, amelynek segítségével egy számot lehet inkrementálni, azaz hozzá adni egyet.

A művelet lehet pre-inkrement és poszt-inkrement.

A pre-inkrement azelőtt végrehajtódik, mielőtt az utasítás további műveletei végrehajtódnának.
x=5;
y=++x; // mind az x, mind az y egyenlő 6-tal

A poszt-inkrement azután hajtódik végre, miután az utasítás összes többi művelete végrehajtódott.
x=5;
y=x++; // az x 6-tal, az y 5-tel egyenlő

Ha az operátort nem szám típusú értékekkel használjuk, akkor az inkrementálást megpróbálja kiszámolni olyan módon, hogy szám típusú értékké alakítja az operandusokat.

Számérték 1-el, azaz eggyel történő csökkentése. (--)
- Dekrementálás

Egy számértékkel történő csökkentés (--) egyoperandusú művelet, amelynek segítségével egy számot lehet dekrementálni, azaz értékéből egyet kivonni.
A művelet lehet pre-dekrement és post-dekrement.
A pre-dekrement azelőtt végrehajtódik, mielőtt az utasítás további műveletei végrehajtódnának.

x=5;
y=--x; // mind az x, mind az y egyenlő 4-tal

A post-dekrement azután hajtódik végre, miután az utasítás összes többi művelete végrehajtódott.
x=5;
y=x--; // az x 4-gyel, az y 5-tel egyenlő

Ha az operátort nem szám típusú értékekkel használjuk, akkor az dekrementálást megpróbálja kiszámolni olyan módon, hogy szám típusú értékké alakítja az operandusokat.

A bitszintű jobbra eltolás

A bitszintű jobbra eltolás két változata között a különbség az, hogy amíg a ">>" esetén az előjelbit értékét használja az új értékhelyek feltöltésére a bal oldalon, addig a ">>>" operátor esetén mindig 0 értékekkel tölti fel az üres helyeket.
a = b >> 2;
b = a >>> 2;

A műveletek során a második kifejezésben megadhatjuk, hogy hány értékhellyel tolódjon el a bináris adatsor.
x = += y;
x = x + y;

Bitszintű műveletek
Bitszintű negálás ~
Bitszintű balra eltolás <<
Bitszintű jobbra eltolás >>
Helyérték nélküli jobbra eltolás >>>
Bitszintű és &
Bitszintű kizáró vagy ^
Bitszintű vagy |
Értékadó műveletek
Értékadás =
Összetett értékadás OP=
Vegyes műveletek
törlés delete
típus typeof
értékadás kiküszöbölése void
példánya-e instanceof
új new
benne in

Forrás: http://web.t-online.hu/paulina/javascriptek/ajavascript_muveletei/bevezeto_js/js_matematika.html