Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente bannato
    Registrato dal
    Dec 2005
    Messaggi
    19

    javascript: CODICE DIFETTOSO

    Salve a tutti ho un problema con questo codice:
    <HTML>
    <HEAD>
    <TITLE> </TITLE>
    <SCRIPT language="javascript">
    function calcolo() {
    //acquisizione estremi [a,b] e numero intervalli n
    var b=window.document.mioForm.estremB.value;
    var a=window.document.mioForm.estremA.value;
    var n=window.document.mioForm.intervN.value;
    var h=(b-a)/n;
    var integ=0;
    for (x=a; x<b; x=x+h)
    integ=integ+(h*Math.sin(x));
    alert(integ);
    }
    </SCRIPT>
    </HEAD>



    <BODY>
    <CENTER>
    <FORM name="mioForm">
    b= <INPUT type=text name=estremB size=10>
    a= <INPUT type=text name=estremA size=10>
    n= <INPUT type=text name=intervN size=10>




    <INPUT type=button name=calcola value=CALCOLA onClick="calcolo();">
    </FORM>
    </CENTER>
    </BODY>
    </HTML>


    la funzione javascript (calcolo()) dovrebbe calcolare l'integrale definito di sen(x) nell'intervallo [a,b] utilizando il metodo dei rettangoli. Entrambi gli estremi vengono immessi da tastiera insieme al numero n di sottointervalli in cui si desidera dividere l'intervallo [a,b]. Il problema sta nel fatto che se imposto per le variabili a e b dei valori predefiniti va tutto ok, mentre se provo ad assegnare a tali variabili dei valori acquisiti tramite l'immissione da tastiera succede che va in loop... si blocca tutto e sono costretto ad interrompere...Cosa significa??? Dove sbaglio?? Qualcuno sa risolvere il problema??? Ringrazio anticipatamente chiunque ci riesca

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Queste sono le cose che preferisco...
    Credo che così sia corretto:

    codice:
    <html>
    <head>
    <script type="text/javascript">
    function calcolo() {
    //acquisizione estremi [a,b] e numero intervalli n
    var b = parseFloat(document.getElementById('estremB').value, 10);
    var a = parseFloat(document.getElementById('estremA').value, 10);
    var n = parseFloat(document.getElementById('intervN').value, 10);
    var h = (b-a)/n;
    
    alert(b+' '+a+' '+n+' '+h); /* alert per debug */
    var integ=0;
    for (x=a; x<b; x=x+h)
    integ=integ+(h*Math.sin(x));
    alert(integ);
    }
    </script>
    </head>
    
    
    
    <body>
    <form>
    b= <input type="text" id="estremB" size="10">
    a= <input type="text" id="estremA" size="10">
    n= <input type="text" id="intervN" size="10">
    <input type="button" name="calcola" value="CALCOLA" onClick="calcolo();">
    </form>
    </body>
    </html>
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.