Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Javascript]Problema equazione

    Salve, avrei il seguente problema:
    Dovrei creare una javascript che risolva l'equazione di secondo grado in tutti i suoi casi. Il codice l'ho scritto ma ora non mi funziona nullla non capisco dove sia l'errore qualcuno può aiutarmi?

    Di seguito riporto il codice:

    <html>
    <head>
    <script type="text/javascript">
    function main(){
    /*--------------------------------------------*/
    var eA=document.getElementById('a').value;
    var eB=document.getElementById('b').value;
    var eC=document.getElementById('c').value;
    var eD=document.getElementById('verso').value;
    /*--------------------------------------------*/
    var a=parseFloat(a);
    var b=parseFloat(b);
    var c=parseFloat(c);
    var s=parseInt(verso);
    /*--------------------------------------------*/

    if(a<0){
    if(s>2){
    if(s==3){
    s=1;
    }
    else{
    s=2;
    }
    }else{
    if(s==1){
    s=3;
    }
    else{
    s=4;
    }
    }
    a=a*-1;
    b=b*-1;
    c=c*-1;
    }
    }
    /*--------------------------------------------*/
    var delta=[(eB*eB)-4*(eA*eC)];

    if(delta==0){
    zero();
    }
    else{
    if(delta>=1){
    posit();
    }
    else{
    negav();
    }
    }
    /*--------------------------------------------*/
    function negav(){
    if(s>2){
    document.write('∃x');
    }
    else{
    document.write('∀x');
    }
    }
    /*--------------------------------------------*/
    function zero(){
    if(s>2){
    if(s==3){
    document.write('∃x∈R');
    }
    else{
    document.write('Soluzioni coincidenti');
    }
    }
    }
    /*--------------------------------------------*/
    function posit(){
    var d1=Math.sqrt(delta);
    var x1=(-eB +d1)/(2*eA);
    var x2 = (-eB-d1)/(2*eA);
    if(s>2){
    if(s==3){
    document.write(x1<'x'<x2);
    }
    else{
    document.write(x1'≤x≤'x2);
    }
    }
    else{
    if(s==1){
    document.write('x<'x1'∨x'>x2);
    }
    else{
    document.write('x≤'x1'∨x≥'x2);
    }
    }



    }

    </script>
    <title>Disequazioni di II grado</title>
    <style type="text/css">
    .form {background: blue; color:#FFFFFF; font-family: Tahoma; font-size: 14px; border: Solid 2px #000000;}
    </style>

    </head>
    <body>
    <h3>Disequazione di 2&ordm;</h3

    <form id="fomr1" method="post">
    <input type="text" id="a" value="Inserisci a" tabindex="1" class="form" />
    &sdot;x&sup2; +
    <input type="text" id="b" value="Inserisci b" tabindex="2" class="form" />
    &sdot;x +
    <input type="text" id="c" value="Inserisci c" tabindex="3" class="form" />
    <select id="verso" tabindex="4">
    <option value="1"selected="selected">&gt;</option>
    <option value="2">&ge;</option>
    <option value="3">&lt;</option>
    <option value="4">&le;</option>
    </select>

    <input type="button" id="risolvi" value="risolvi" onclick="main()"/>
    </form>

    </body>
    </html>
    Grazie in anticipo

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    E' voluto che le function negav e zero siano dichiarate all'interno della function main ?

    Inoltre non puoi utilizzare il metodo document.write() dpo che la pagina e' stata completamente ricevuta e disegnata: hanno l'effetto di cancellare la pagina precedente, script compresi. Devi usare, per esempio, innerHTML (cerca)
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Si le ho richiamato le funzioni nel caso le condizioni siano vere, comunque per innerHTML la sintassi corretta è per caso "node.innerHTML = variabili da visualizzare;"?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da caos-zero
    Si le ho richiamato le funzioni nel caso le condizioni siano vere, comunque per innerHTML la sintassi corretta è per caso "node.innerHTML = variabili da visualizzare;"?
    Le funzioni non si dichiarano e richiamano cosi', forse e' il caso di ripassare i fondamenti...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Già probabilmente hai ragione, ma purtroppo non ho neanche le basi- frequento scuola e a sentire il mio prof javascript ha la una sintassi simile allo C (sarà vero?). Comunque ora cercherò di informarmi.

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.