Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem HTML zápis - obvod a obsah čtverce

Zdravím, nevím si rady s tímhle:

Pro výpočet obsahu a obvodu kruhu ve scriptu mi funguej kod:

function obvodK(r){  
  o=2*Math.PI*eval(r);
  alert("Obvod kruhu je "+o);
}

function obsahK(r){
  s=Math.PI*eval(r)*eval(r);
  alert("Obsah kruhu je "+s);
}

Jak podle tohohle vzorce udělat obvod a obsah čtverce?

Tohle mi nefunguje, nevím kde je chyba???

function obvodC(){
  o=4*a;
  alert("Obvod čtverce je "+o);
}

function obsahC(){
  s=a^2;
  alert("Obsah čtverce je "+s);
}

Zmena predmetu, pôvodne: HTML zápis (los)

Předmět Autor Datum
Nemáš a v argumentu funkce : function obvodC(a){ o=4*a; alert("Obvod čtverce je "+o); } function ob…
hynajs 22.01.2012 09:38
hynajs
Kdybych chtěl udělat funkci pro výpočet obsahu a obvodu obdelníka tak: function obvodO(){ o=2*(a+b)…
Fanfaster 22.01.2012 13:00
Fanfaster
Ta funkce počítá s nějakými vstupními daty, tak je tam doplň. (Na vstupu musí být rozměry toho obdél…
oldsoft 22.01.2012 13:03
oldsoft
a,b
Fanfaster 22.01.2012 13:06
Fanfaster
Musíš ji nakrmit, v tomto případě a a b : function obvodO(a,b){ o=2*(a+b) alert(Obvod obdelníka je…
hynajs 22.01.2012 13:05
hynajs
Tomu bych rozuměl, ale nekde je tam chyba
Fanfaster 22.01.2012 13:08
Fanfaster
Co tohle? function obvodO(a,b){ o=2*(eval(a)+eval(b)) alert("Obvod obdelníka je "+o); } function ob…
Wikan 22.01.2012 13:14
Wikan
Vykašli se na to a začni se učit hezky od začátku. Co to je vůbec programování, co to je proměnná, j…
marekdrtic 22.01.2012 13:15
marekdrtic
function obvodO(a,b){ o=2*eval(a,b); alert(Obvod obdelníka je "+o); } function obsahO(a,b){ s=a*b;…
Fanfaster 22.01.2012 13:17
Fanfaster
Jen tak od oka ti u prvního alertu chybí uvozovky.
host 22.01.2012 13:20
host
Šmankote, co to je eval(a,b), když už tak eval(a+b), ne? (Poslední kus programu jsem napsal v roce 1…
oldsoft 22.01.2012 13:21
oldsoft
1994? To se já narodil :-). Jinak jo, teď jsem to zkusil, funguje jak eval(a+b);, tak i eval("a+b");
marekdrtic 22.01.2012 13:33
marekdrtic
To jsem ti napsal už v předchozím příspěvku, dočítej prosím do konce. Navíc eval(a,b) nedává smysl,…
marekdrtic 22.01.2012 13:23
marekdrtic
function obvodO(a,b){ o=2*eval("a+b") alert("Obvod obdelníka je "+o); } function obsahO(a,b){ s=eva…
Fanfaster 22.01.2012 18:13
Fanfaster
NaN znamená "Not a Number" a výsledkom je napr. vtedy, ak násobíš nezmysly (napr. 5*"a"). Takže si s…
los 22.01.2012 20:55
los
Doporučil bych používat při programování v Javascriptu nějaký debugger, tam se ti hned objeví chyba,…
marekdrtic 22.01.2012 10:07
marekdrtic
tohle není žádný html zápis, tohle je javascript ... pokud v něm hledáš chybu použij debugger, v in…
tik 23.01.2012 09:09
tik
function obvodT(a,b,c){ o=a+b+c; alert("Obvod trojúhelníka je "+o); } function obsahT(a,b,c){ s=a+b…
ja4 24.01.2012 14:08
ja4
Funkce se jmenuje obsahT, ale počítá také obvod trojúhelníka lomeno 2. Jako kdybys své dívce Martině…
hynajs 24.01.2012 14:13
hynajs
Pokud zadáváme a,b,c : function obsahT(a,b,c){ s=Math.sqrt((a+b+c)*(b+c-a)*(a+b-c)*(a+c-b))/4; aler…
hynajs 24.01.2012 14:38
hynajs
Spíš a*Va/2 ne?
Wikan 24.01.2012 14:40
Wikan
Ok, jsem blbec, opravím to. function obsahT(a,Va){ s=a*Va/2; alert("Obsah trojúhelníka je "+s); }… poslední
hynajs 24.01.2012 14:41
hynajs

Kdybych chtěl udělat funkci pro výpočet obsahu a obvodu obdelníka tak:

function obvodO(){
o=2*(a+b)
alert(Obvod obdelníka je "+o);
}

function obsahO(){
s=a*b;
alert("Obsah obdelníka je "+s);
}

_______________________________________¨
Jak poznám co doplnit do argumentu funkce?

NaN znamená "Not a Number" a výsledkom je napr. vtedy, ak násobíš nezmysly (napr. 5*"a"). Takže si skontroluj, čo za argumenty tam posielaš.

To odkiaľ si zobral takú lamerinu, že eval? Funkciu eval vôbec na takéto jednoduché veci nepotrebuješ, nepotrebuješ ju dokonca ani na zložitejšie veci, ani na superzložité veci. Existuje len jeden jediný výnimočný prípad, kedy takú funkciu môžeš potrebovať, s ktorým sa ale pravdepodobne v živote nestretneš.

Keď používaš vo funkciách pomocné premenné (konkrétne premenné o a s), tak ich deklaruj pomocou kľúčového slova var, aby si obmedzil ich rozsah platnosti na danú funkciu. V opačnom prípade ti hrozí, že ak použiješ globálnu premennú o alebo s, tak si ich nechtiac prepíšeš.

tohle není žádný html zápis, tohle je javascript ...

pokud v něm hledáš chybu použij debugger, v internetovém prohlížeči
ve Firefoxu a v Chromu najdeš chybovou konzoli javascriptu pod klávesovou zkratkou CTRL+SHIFT+J
tam se snadno dozvíš v čem je chyba

function obvodT(a,b,c){
o=a+b+c;
alert("Obvod trojúhelníka je "+o);
}

function obsahT(a,b,c){
s=a+b+c/2;
alert("Obsah trojúhelníka je "+s);
}

Nechápu tady ty principy, počítání.
Jak se PROSÍM VÁS vypočítá obvod a obsah trojuhelnika když počítáme i s výškou Va

Zpět do poradny Odpovědět na původní otázku Nahoru