Elevamento a potenza: differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Per effettuare l'<I>elevamento a potenza</i> di un numero, è possibile utilizzare alcune modalità. <SUP>&#91;[[#Note|nota 1]]&#93;</sup>
Per effettuare l'<I>elevamento a potenza</i> di un numero, è possibile utilizzare alcune modalità.
 


===Uso dell'operatore  '''^''' ===
===Uso dell'operatore  '''^''' ===
Molto brevemente ed agevolmente si potrà utilizzare l'operatore '''^''' , come segue:
Molto brevemente ed agevolmente si potrà utilizzare l'operatore '''^''' , come segue:
  '''Public''' Sub Main()
  Public Sub Main()
   
   
  Dim i As Integer
  Dim i As Integer
   
   
  <FONT Color=gray>' Effettua l'elevamento a potenza: <B>3<SUP>4</sup></b></font>
  <FONT Color=gray>' ''Effettua l'elevamento a potenza: <B>3<SUP>4</sup></b>''</font>
   i = 3 <FONT Color=#B22222><B>^</b></font> 4
   i = 3 <FONT Color=red><B>^</b></font> 4
   
   
   Print i
   Print i
   
   
  '''End'''
  End
 




===Uso di specifici algoritmi===
===Uso di specifici algoritmi===
Si potrà utilizzare del codice più complesso. Ad esempio:
Si potrà utilizzare del codice più complesso.
  '''Public''' Sub Main()
<BR>Ad esempio:
  Public Sub Main()
   
   
  Dim b, e As Integer
  Dim b, e As Integer
  Dim ris As Integer = 1
  Dim ris As Integer = 1
    
    
    b = 3
  b = 3
    e = 4
  e = 4
    
    
    While (e)
  While (e)
      If e And 1 Then
    If e And 1 Then
        ris = ris * b
      ris = ris * b
        e = e - 1
      e = e - 1
      Endif
    Endif
      b = b * b
    b = b * b
      e = e / 2
    e = e / 2
    Wend
  Wend
      
      
    Print "Risultato = "; ris
  Print "Risultato = "; ris
   
   
  '''End'''
  End
 
 
oppure il seguente capace di operare su valori in virgola mobile:
oppure il seguente capace di operare su valori in virgola mobile:
  '''Public''' Sub Main()
  Public Sub Main()
    
    
  Dim f As Float
  Dim f As Float
    
    
   f = Potenza(3.75, 3)
   f = Potenza(3.75, 3)
Riga 50: Riga 47:
   Print f
   Print f
    
    
  '''End'''
  End
   
   
   
   
  '''Private''' Function Potenza(base As Float, esponente As Byte) As Float
  Private Function Potenza(base As Float, esponente As Byte) As Float
    
    
   Dim pot As Float
   Dim pot As Float
    
    
    If esponente = 0 Then Return 1
  If esponente = 0 Then Return 1
      
      
    pot = base
  pot = base
    
    
    While esponente > 1
  While esponente > 1
      Dec esponente
    Dec esponente
      pot *= base
    pot *= base
    Wend
  Wend
      
      
    Return pot
  Return pot
      
      
  '''End'''
  End
 




=Note=
===Uso della funzione esterna "pow()"===
[1] In vero, è possibile utilizzare anche [[Pow()|la funzione ''pow()'']] della libreria condivisa esterna ''libm.so''
E' anche possibile utilizzare anche [[Pow()|la funzione "pow()"]] della libreria condivisa esterna ''libm.so''

Versione attuale delle 08:49, 1 nov 2024

Per effettuare l'elevamento a potenza di un numero, è possibile utilizzare alcune modalità.

Uso dell'operatore ^

Molto brevemente ed agevolmente si potrà utilizzare l'operatore ^ , come segue:

Public Sub Main()

  Dim i As Integer

' Effettua l'elevamento a potenza: 34
  i = 3 ^ 4

  Print i

End


Uso di specifici algoritmi

Si potrà utilizzare del codice più complesso.
Ad esempio:

Public Sub Main()

  Dim b, e As Integer
  Dim ris As Integer = 1
 
  b = 3
  e = 4
 
  While (e)
    If e And 1 Then
      ris = ris * b
      e = e - 1
    Endif
    b = b * b
    e = e / 2
  Wend
   
  Print "Risultato = "; ris

End

oppure il seguente capace di operare su valori in virgola mobile:

Public Sub Main()
 
  Dim f As Float
 
  f = Potenza(3.75, 3)
  
  Print f
  
End


Private Function Potenza(base As Float, esponente As Byte) As Float
 
  Dim pot As Float
  
  If esponente = 0 Then Return 1
   
  pot = base
  
  While esponente > 1
    Dec esponente
    pot *= base
  Wend
    
  Return pot
   
End


Uso della funzione esterna "pow()"

E' anche possibile utilizzare anche la funzione "pow()" della libreria condivisa esterna libm.so