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

    [vb.net]funzionano le funzioni coseno e seno?

    Ciao a tutti forumisti.
    Ultimamente stavo personalizzando una calcolatrice in vb.net ed ho provato le funzioni seno e coseno di vb.net.
    Per intenderci queste:

    valcos=Math.Cos(valore)
    valsin=Math.Sin(valore)

    Solo che i valori restituiti dalle funzioni non corrispondono a quelli restituiti dall calcolatrice di windows.Qualcuno sa dirmi come devo fare per avere gli stessi valori?
    jabjoint

  2. #2
    Non sarà che sbagli il tipo di gradi utilizzati???

    L'angolo retto, per esempio, misura "90" se si usano i Gradi, misura "π/2" se si usano i Radianti (quel simbolino che non si capisce bene è un pi greco che rappresenta il valore 3,14159265) e misura "100" se si usano i Gradienti.

    Quindi, tanto per restare sull'esempio dell'angolo retto, nei tre casi indicati avrai

    sin(90) = 1
    sin(π/2) = 1
    sin(100) = 1


    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970

    Re: [vb.net]funzionano le funzioni coseno e seno?

    Originariamente inviato da jabjoint
    Ciao a tutti forumisti.
    Ultimamente stavo personalizzando una calcolatrice in vb.net ed ho provato le funzioni seno e coseno di vb.net.
    Per intenderci queste:

    valcos=Math.Cos(valore)
    valsin=Math.Sin(valore)

    Solo che i valori restituiti dalle funzioni non corrispondono a quelli restituiti dall calcolatrice di windows.Qualcuno sa dirmi come devo fare per avere gli stessi valori?
    L'argomento della funzione deve essere espresso in radianti non in gradi.
    360°= 2π 'radianti
    180°= π 'radianti
    radianti= (π / 180) * gradi
    Sbagliare è umano, perseverare è diabolico.

  4. #4
    Grazie mille ad entrambi, infatti sbagliavo ad inserire i gradi al posto dei radianti!
    jabjoint

  5. #5
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Scusa jabjoint, come hai risolto invece il problema del visualizzatore della calcolatrice.
    Praticamente quando inserisci un valore e poi cliccando sul bottone di una operazione ad esempio il '+' , il valore deve rimanere visualizzato fino al nuovo inserimento del secondo valore e non deve concatenarsi con quello del primo addendo.

  6. #6
    ciao ironmax,memorizzi il valore in una variabile pubblica,memorizzi il tipo di funzione in un'altra variabile,poi quando esegui(=) controlli il tutto:

    Ti posto il codice:

    codice:
    public x as double
    public y as double
    public funzione as string
    
    sub somma()
    x=cifre.text
    funzione="somma"
    attivata=false
    end sub
    
    sub risolvi()
    
    select case funzione
    case "somma"
    If attivata = False Then
              y = cifre.Text
              attivata = True
    End If
               cifre.text = x + y
               x = cifre.text
    end if
    end select
    
    end sub
    jabjoint

  7. #7
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Ciao jabjoint.
    Scusa sto tentando di adattare il tuo codice in C#, ma mi riesce un pò difficile.
    Potresti darmi ancora qualche spiegazione o parte di codice che potrebbe chiarire la situazione.
    Grazie.
    Questo è quello che sto facendo:
    codice:
           private void button1_Click(object sender, EventArgs e)
           {
               if (attivata != false)
               {
                   textBox1.Text += "1";
               }
           }
          private void btnPiu_Click(object sender, EventArgs e)
            {
                FirstNumber(Convert.ToDouble(textBox1.Text));
                valore_addendo_1 = textBox1.Text;
            }
           private void btnUguale_Click(object sender, EventArgs e)
            {
                if (attivata == false)
                {
                    SecondNumber(Convert.ToDouble(textBox1.Text));
                    textBox1.Text = Convert.ToString(Somma());
                    attivata = true;
                }
            }
    
               public double Somma()
                {
                    attivata = false;
                   return MyFirstNumber + MySecondNumber;
                }
    So che mancano ancora delle parti e forse anche meglio migliorare il codice.

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.