Il logo di batmath
www.batmath.it

Equazioni di secondo grado in un'incognita

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()

Commenti:

pagina pubblicata il 01/11/2001 - ultimo aggiornamento il 01/09/2003