Oppure

Loading
19/11/09 16:41
GianlucaR92
Salve ragazzi..ho ritrovato vecchi appunti della funzione fattoriale. La sto riutilizzando dopo molto tempo e non ricordo nulla, per questo ho problemi ad utilizzarla.

Public Function Fatt()
n = Val(txtenne.Text)
x = Val(txtics.Text)

Dim fattoriale As Double
Dim elemento As Long
elemento = 1
fattoriale = 1
Do While n >= elemento
fattoriale = elemento * fattoriale
elemento = elemento + 1
Loop

Poichè devo utilizzare diverse variabili da calcolare, quali parametri devo mettere tra parentesi? E secondo, come richiamo la funzione?
aaa
19/11/09 17:03
GrG
funzione fattoriale... sinceramente non so cosa sia, se mi spieghi cosa vorresti fare forse posso aiutarti
aaa
19/11/09 22:17
matto00
Public Function Fatt(n as integer)
dim f as double
f=1
for i = n to 1 step - 1
f=f*i
next i
end sub
aaa
19/11/09 22:23
ilmettiu
Fattoriale di 5 (indicato con 5!) è pari a 1 * 2 * 3 * 4 * 5;

Questo è il minimo numero di variabili utilizzabile, usando un ciclo While.
Con For, invece, possiamo fare qualcosa di simile:

Public Function Fatt()

Dim fattoriale As Double
Dim i as Integer

fattoriale = 1
x = Val(txtics.Text)         'Supponendo che in txtics tu inserisca il numero

For i = 1 to x
    fattoriale = i * fattoriale 
Next i

End Function


Non so cosa fosse txtenne, sinceramente non ne vedo l'utilità. Questo calcola il fattoriale del numero inserito in txtics.

come richiamo la funzione?


Call Fatt()


Così
Ultima modifica effettuata da ilmettiu 19/11/09 22:25
aaa
26/11/09 13:48
GianlucaR92
Postato originariamente da ilmettiu:

Fattoriale di 5 (indicato con 5!) è pari a 1 * 2 * 3 * 4 * 5;

Questo è il minimo numero di variabili utilizzabile, usando un ciclo While.
Con For, invece, possiamo fare qualcosa di simile:

Public Function Fatt()

Dim fattoriale As Double
Dim i as Integer

fattoriale = 1
x = Val(txtics.Text)         'Supponendo che in txtics tu inserisca il numero

For i = 1 to x
    fattoriale = i * fattoriale 
Next i

End Function


Non so cosa fosse txtenne, sinceramente non ne vedo l'utilità. Questo calcola il fattoriale del numero inserito in txtics.

come richiamo la funzione?


Call Fatt()


Così


allora poichè mi serve calcolare il fattoriale di più valori, txtenne rappresenta la text dove inserisco il valore di cui voglio calcolarmi il fattoriale.
Il problema è che quando vado a calcolarmi il fattoriale, richiamando la funzione in questo modo:
call fatt(n)
dove n è un valore di cui voglio calcolarmi il fattoriale, mi dice "Tipo non corrispondente" ..Qualcuno sa spiegarmi dove ho sbagliato? grazie in anticipo =)
aaa
26/11/09 16:47
ilmettiu
Scusa, non avevo capito. L'errore che ti dà è relativo al tipo di n: evidentemente lui si aspettava un tipo diverso (per esempio Integer al posto di Single), perchè quando hai dichiarato la funzione Fatt() tra parentesi hai messo "n as Integer" (correggetemi se sbaglio, non mi ricordo come si dichiara una funzione in VB), e invece la variabile che gli passi con la chiamata è di un altro tipo.
Es:

Private function Fatt(n as Integer)

Private Sub asd()
Dim n as Single

Call Fatt(n)

End Sub


Questo penso darebbe l'errore che ti dà.
Il succo è che il valore passato alla funzione deve essere lo stesso previsto nella dichiarazione sua dichiarazione.
Ultima modifica effettuata da ilmettiu 26/11/09 16:48
aaa