JavaScript 14.díl, matematika

Napsal O webu (») 20. 12. 2006 v kategorii Programování, přečteno: 4987×

V tomto matematickém díle si povíme nejen o sčítání a odčítání


Někdy se hodí provádět více než jen aritmetické výpočty a o tom bude tento díl.

Aritmetika

Základní aritmetické operátory jsou součet (+), součin (*), rozdíl (-) a podíl (-). Dalo by se mezi ně zařadit také modulo dělení (%), které určuje zbytek po celočíselném dělení.
Příklad modulo dělení:
10%5=0 // 10/5=2 zbytek je 0
10%3=1 // 10/3=3 zbytek je 1
8%3=2 // 8/3=2 zbytek je 2


Modulo dělení se nejčastěji používá pro zjištění sudého nebo lichého řádku, většinou zvýraznění. Máme-li například cyklus:
for (var i=0; i<10; i++)  {
    var temp="Řádek číslo "+i;
    if (i%2!=0) document.write("<b>"+temp+"</b><br>");
    else document.write(temp+"<br>");
}


Zvýrazní nám takto každý druhý řádek:
Řádek číslo 0
Řádek číslo 1
Řádek číslo 2
Řádek číslo 3
Řádek číslo 4
Řádek číslo5
Řádek číslo 6
Řádek číslo 7
Řádek číslo 8
Řádek číslo 9


Pracujete s číslem nebo řetězcem?

Také při aritmetických výpočtech je potřeba si dát pozor, hlavně u sčítání, které značí také spojování řetězců. Pokud získáváme data z nějakých formulářů nebo jinak je vždy lepší pro jistotu převést text na číslo (funkce eval("řetězec");) nebo pokud chcete pracovat s řetězcem převést číslo na text (funkce String(číslo);). Nejnázornější bude příklad:
var a="5";
var b="3";
a+b // vytiskne 53, protože spojujeme řetězce
eval(a)+b // opět 53, převedeno bylo jen jedno číslo
eval(a+b) // opět 53, na rozdíl od předchozích, ale bude výsledek typu int, tedy číslo
eval(a)+eval(b) //toto je konečně správný tvar, výsledek je 8

var a=5;
var b=3;
a+b // výsledek bude 8
eval(a)+eval(b) //výsledek bude 8
String(a)+b // výsledek bude 53


Vyšší počty

Pro složitější výpočty existuje v JavaScriptu objekt Math, který obsahuje některé funkce a konstanty.

Konstanty

V matematice existuje řada konstant, mezi nejznámější patří zřejmě Ludolfovo číslo.
Vlastnost
Popis
Hodnota
Příklad
E
Eulerovo číslo
2.718 Math.E
LN2
Přirozený logaritmus se základem 2
0.693 Math.LN2
LN10
Přirozený logaritmus se základem 10
2.302 Math.LN10
LOG2E
Logaritmus se základem 2
1.442 Math.LOG2E
LOG10E
Logaritmus se základem 10
0.434 Math.LOG10E
PI
Ludolfovo číslo
3.14159 Math.PI
SQRT1_2
Odmocnina z 0.5
0.707 Math.SQRT1_2
SQRT2
Odmocnina ze 2
1.414 Math.SQRT2


Funkce

abs()
Vrací absolutní hodnotu argumentu
Math.abs(-5); // 5
Math.abs(5);  // 5


acos()
Vrací arcus kosinus (v radiánech)
Math.acos(1); //0
Math.acos(0); //1.570 (PI/2)


asin()
Vrací arcus sinus (v radiánech)
Math.asin(0); //0
Math.asin(1); //1.570 (PI/2)


atan()
Vrací arcus tangens (v radiánech)
Math.atan(0); //0


ceil()
Vrací číslo zaokrouhlené nahoru na celé číslo, bez ohledu na pravidla o zaokrouhlování.
Math.ceil(1.000001); // 2
Math.ceil(-1.99999); // -1


cos()
Vrací kosinus čísla
Math.cos(Math.PI); // -1


exp()
Vrací hodnotu e^x (ex) z čísla x
Math.exp(5); //148.4131


floor()
Vrací číslo zaokrouhlené dolů na celé číslo, bez ohledu na pravidla o zaokrouhlování.
Math.floor(1.999999); // 1
Math.floor(-1.000001); // -2


log()
Vrací přirozený logaritmus čísla
Math.log(Math.E); // 1


max(a,b)
Vrací vyšší hodnotu ze zadaných
Math.max(5,3); // 5


min(a,b)
Vrací nižší hodnotu ze zadaných
Math.min(5,3); // 3


pow(a,b)
Vrací mocninu a^b (ab)
Math.pow(2,5); // 32


random()
Vrací pseudonáhodné číslo mezi 0 a 1
Math.random(); //0.5376814596820623


round()
Vrací zaokrouhlednou hodnotu podle pravidel
Math.round(1.5); // 2
Math.round(-1.5); // -1


sin()
Vrací sinus čísla
Math.sin(0); // 0


sqrt()
Vrací odmocninu z čísla
Math.sqrt(16); // 4
Math.sqrt(15); // 3.87298


tan()
Vrací tangens čísla
Math.tan(-Math.PI); // 1.2246063538223773e-16


Příští díl bude o práci s textovými řetězci.



Autor: Martin
Štítky: JavaScript
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel dvanáct a sedm