PDA

View Full Version : aiuto su un programma javascript per risolvere dei problemi con la formula di erone


matteo11102009
01-06-2012, 13:02
ciao a tutti... ho creato un programma in javascript per risolvere dei problemi utilizzando la formula di erone, solo che mi da un risultato sbagliato; ecco il codice:
/* variabili*/
var a;
var b;
var c;
var u;
var semi;
var area;
/* prompt*/
a = prompt("Lunghezza lato a...");
b = prompt("Lunghezza lato b...");
c = prompt("Lunghezza lato c...");
u = prompt("Quale è l' unita di misura utilizzata? (m, cm, mm)");
/* operazione */
semi = (a+b+c)/2;
area = Math.floor(Math.sqrt(semi*(semi-a)*(semi-b)*(semi-c)));
/*stampa sullo schermo */
document.write("L' area del triangolo è di:"+" " +area+" "+u+"<sup>"+"2"+"</sup>");
sapete dirmi dove si trova il problema?? L' ho riscritto molte volte solo che "stampa lo stesso risultato" Come lunghezza del lato a/b/c ho utilizzato sempre 55!!
Grazie in anticipo

wingman87
01-06-2012, 13:23
Il problema non è nelle formule, è che prompt restituisce una stringa e quando esegui:
(a+b+c)/2
prima a,b e c vengono concatenati come stringhe, dopodiché la stringa risultante viene convertita in numero e divisa per due.
Per risolvere aggiungi un parseInt intorno ai prompt che leggono i numeri:
Es:
a = parseInt(prompt("Lunghezza lato a..."));

matteo11102009
01-06-2012, 17:07
@wingman87
Grazie mille ho risolto e grazie per la spiegazione