JavaScript/Kenjiro995/Kalkulačka

Z Wikiverzity

Online editor[editovat]

Není nutné cokoliv instalovat protože existují online editory.

  • https://replit.com/ - osvědčil se mi při ukládání vytvořených programů, při vytváření nové relace si lze vybrat z mnoha programovacích jazyků
  • https://jsfiddle.net/ - ideální pro počáteční experimentování (použít pro tuto hodinu)
    • okno HTML - použití scriptu v html
    • okno CSC - pro kaskádové styly
    • okno JavaScript + No-libray (pure JS) - pro psaní čistě v JavaScriptu

Kalkulačka[editovat]

var cislo = prompt("První číslo ","");
var druhe = prompt("Druhé číslo ","");
var operace = prompt("Zvolte početní operaci ","");
var vysledek;

if (operace == "+") {
 vysledek = eval(cislo) + eval(druhe);
 document.write(cislo," + ",druhe," = ",vysledek);
}
else if (operace == "-") {
 vysledek = eval(cislo) - eval(druhe);
 document.write(cislo," - ",druhe," = ",vysledek);
}
else if (operace == "*") {
 vysledek = eval(cislo) * eval(druhe);
 document.write(cislo," * ",druhe," = ",vysledek);
}
else if (operace == "/") {
 vysledek = eval(cislo) / eval(druhe);
 document.write(cislo," / ",druhe," = ",vysledek);
}
else {
 document.write("Tato operace není známa");
}

Vstup:

První číslo: 8
Druhé číslo: 3
Zvolte početní operaci: *

Výstup:

8 * 3 = 24

Zjednodušení Kalkulačky[editovat]

Pokud postačí čtyři základní operace tak postačí toto zjednodušení:

var cislo = prompt("Číslo ","");
var vysledek = eval(cislo);
document.write(cislo," = ",vysledek);

Vstup:

Číslo: 36/6

Výstup: 36/6 = 6

To proto, že funkce eval() převede nejen text na číslo, ale pokud je zapsán jako vzorec rovnou nejdříve vypočítá a poté vloží číslo jako výsledek:

document.write(eval("3+3+3"));

Výstup:

9

eval()[editovat]

Převádí text na číslo, jeli text zapsán jako vzorec dokáže ho vypočítat. K formátování dokáže přidat i značku <br> pro nový řádek.

var x = 10;
var y = 20;
var a = eval("x * y") + "<br>";
var b = eval("2 + 2") + "<br>";
var c = eval("x + 17") + "<br>";

var res = a + b + c;
document.write(res)

Výstup:

200
4
27