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 alcune modalità. | + | 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() | |
− | + | 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= | + | i = 3 <FONT Color=red><B>^</b></font> 4 |
Print i | Print i | ||
− | + | 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. |
− | + | <BR>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: | oppure il seguente capace di operare su valori in virgola mobile: | ||
− | + | Public Sub Main() | |
− | + | Dim f As Float | |
f = Potenza(3.75, 3) | f = Potenza(3.75, 3) | ||
Riga 50: | Riga 47: | ||
Print f | Print f | ||
− | + | End | |
− | + | 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 | |
− | + | pot = base | |
− | + | While esponente > 1 | |
− | + | Dec esponente | |
− | + | pot *= base | |
− | + | Wend | |
− | + | Return pot | |
− | + | End | |
− | |||
− | = | + | ===Uso della funzione esterna "pow()"=== |
− | + | E' anche possibile utilizzare anche [[Pow()|la funzione "pow()"]] della libreria condivisa esterna ''libm.so'' |
Versione attuale delle 07: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