Differenze tra le versioni di "Elevamento a potenza"

Da Gambas-it.org - Wikipedia.
 
(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 almeno due modalità.  |[[#Note|1]]|
+
Per effettuare l'<I>elevamento a potenza</i> di un numero, è possibile utilizzare alcune modalità.  <SUP>&#91;[[#Note|nota 1]]&#93;</sup>
  
  
===Uso delloperatore '''^''' ===
+
===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()
Riga 8: Riga 8:
 
   Dim i As Integer
 
   Dim i As Integer
 
   
 
   
 +
<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=#B22222><B>^</b></font> 4
 
   
 
   
Riga 16: Riga 17:
  
  
===Uso di un algoritmo===
+
===Uso di specifici algoritmi===
 
Si potrà utilizzare del codice più complesso. Ad esempio:
 
Si potrà utilizzare del codice più complesso. Ad esempio:
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()
Riga 37: Riga 38:
 
     Print "Risultato = "; ris
 
     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'''
 
  '''End'''
  

Versione attuale delle 17:18, 7 mag 2021

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


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


Note

[1] In vero, è possibile utilizzare anche la funzione pow() della libreria condivisa esterna libm.so