Differenze tra le versioni di "Elevamento a potenza"
Da Gambas-it.org - Wikipedia.
Riga 4: | Riga 4: | ||
===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. 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 | |
Versione delle 15:41, 1 lug 2024
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