Il programma qui proposto non richiede alcun commento né dal punto di vista della matematica coinvolta, né dal punto di vista informatico. L'abbiamo inserito solo per amore della tradizione: in tutti i corsi di informatica di base che abbiamo seguito ci è stato proposto questo programma.
Riportiamo il codice della funzione che esegue il calcolo.
function calcola()
{
document.getElementById('risultato').value="";
var
primo=parseFloat(document.getElementById('a').value);
var
secondo=parseFloat(document.getElementById('b').value);
var
terzo=parseFloat(document.getElementById('c').value);
if (isNaN(primo) || isNaN(secondo)|| isNaN(terzo)) //controllo
dell'input
{
window.alert("Dati in ingresso non
validi.\nInserisci coefficienti validi.");
return; //L'istruzione causa l'interruzione
della funzione, perché essa non è
calcolabile
}
if (primo==0)
{
window.alert("a non può essere zero se vuoi
che l'equazione sia di secondo grado.");
document.getElementById('a').focus();
document.getElementById('a').select();
return;
}
var delta=secondo*secondo-4*primo*terzo;
if (delta <0)
{
document.getElementById('risultato').value="L'equazione
proposta non ha radici reali.\nIl suo discriminante vale:
"+delta+"."
}
if (delta==0)
{
var x12=-secondo/(2*primo);
document.getElementById('risultato').value="Il
discriminante dell'equazione proposta è
zero.\nL'unica radice reale è: "+x12;
}
if (delta >0)
{
var x1=(-secondo-Math.sqrt(delta))/(2*primo);
var x2=(-secondo+Math.sqrt(delta))/(2*primo);
var mess1="Il discriminante dell'equazione
proposta è positivo.";
var mess2="L'equazione proposta ha quindi due
radici reali e distinte, che sono:"
document.getElementById('risultato').value=mess1+"\n"+mess2+"\n"+"x1=
"+x1+"\nx2= "+x2;
}
} //end of calcola()