Questo è il mio codice ma non riesco a capire perché non funzioni correttamente
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Discontinuità</title>
<script type="text/javascript">
var a ;
var b ;
var funzione ;
var text_disco;
function inizializza()
{
a = document.getElementById("id_a"
;
b = document.getElementById("id_b"
;
funzione = document.getElementById("id_funzione"
;
text_disco = document.getElementById("id_disco"
;
}
function f_x(x)
{
//alert(eval(funzione.value));
return parseFloat(eval(funzione.value));
}
function discontinuita()
{
text_disco.value="";
//intervallo [a,b]
var Xmin = parseFloat(a.value);//-> valore a
var Xmax = parseFloat(b.value);//-> valore b
var y = 0; //->risultato della funzione nel punti (i) -> vedi f_x(x)
var limiteDx = 0; limiteSx = 0;//->risultato del limite Dx e Sx nel punti (i) -> vedi f_x(x)
var continua = true;
var disco = "continua"; // label che indica il tipo di discontinuità
var infinito = 5e6; // infinito stabilito da me
i=Xmin;
//ciclo tutto l'intervallo se la funzione è continua altrimenti esco
while( i<Xmax && continua == true )
{
limiteDx = (f_x( i + 10e-7 )) ;
limiteSx = (f_x( i - 10e-7 )) ;
y = f_x(i);
//x = continua sempre
if( limiteDx != y || limiteSx != y) // se i limiti sono diveri dalla funzione nel punto allora è discontinua
{
//1a specie : limiti finiti, esistenti e diversi
if( (limiteSx <= infinito && limiteSx >= - infinito) && (limiteDx <= infinito && limiteDx >= - infinito) && (limiteDx != limiteSx && limiteDx != y && limiteSx != y ))
{
//x/Math.abs(x) -> nel punto 0 discontinua
disco = "Prima specie";
continua = false;
}
else//uno dei due limiti è infinito o non esiste
if( limiteSx <= -infinito || limiteSx >= infinito || limiteDx <= -infinito || limiteDx >= infinito )
{
//1/Math.pow(x,2) -> nel punto 0 discontinua
disco = "Seconda specie";
continua = false;
}
else//limiti finiti e uguali e diversi da y
if( (limiteSx <= infinito && limiteSx >= - infinito) && (limiteDx <= infinito && limiteDx >= - infinito) && (limiteDx == limiteSx ) )
{
//(Math.pow(x,2)-4)/(x-2) -> nel punto 2 discontinua
disco = "Terza specie";
continua = false;
}
i = i + 10e-6;
}
}
text_disco.value = disco;
}
</script>
</head>
<body onload="inizializza()" >
<table>
<tr>
<td>Funzione<input type="text" id="id_funzione"></td>
<td>A:<input type="text" id="id_a" value="-1"></td>
<td>B:<input type="text" id="id_b" value="4" ></td>
</tr>
<tr>
<td>Discontinuità:<input type="text" id="id_disco"></td>
<td colspan="2"><input type="button" value="verifica" onclick="discontinuita()" ></td>
</tr>
</table>
</body>
</html>