|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2006
Città: Varese
Messaggi: 1017
|
Mi aiutate a fare questo progetto in VB
creare un progetto vb che fa introdurre all'utente in un textbox un numero intero positivo nn piu grande di 30 (n) e visualizzi in una label i primi "n" termini della successione di sibonacci
devo farlo in vb ma nn so da dove iniziare chi vuole darmi una mano ?' grazie mille accetto consigli |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
|
Usi vb6 o .net?
Comunque è uguale a livello di codice ... Questo lo metti dentro all' evento del pulsante o dove vuoi Dim i, n As Integer n = val(textbox1.text) ' o puoi usare cint() o quello che ti serve For i = 0 To n Label1.Text = Label1.Text & fibonacci(i) & " - " Next i Questa è la funzione che calcola il numero x della serie di fibonacci (ho usato un metodo ricorsivo, si poteva implementare in tanti altri modi Function fibonacci(ByVal x As Integer) As Integer If x = 0 Or x = 1 Then fibonacci = 1 Else fibonacci = fibonacci(x - 1) + fibonacci(x - 2) End If End Function
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino |
![]() |
![]() |
![]() |
#3 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
|
Ehmmm
![]() E' vero, mi spiace ... ma ho fatto la prova direttamente in vb e poi ho fatto copia incolla e ho perso la domanda iniziale ... ![]() Che dire ... è tutto sbagliato quello che ho fatto!!!! ![]() ![]()
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2005
Messaggi: 5245
|
si, ha ragione Ziosilvio, avresti dovuto dare dalle indicazione per farlo andare con i suoi piedi. Cmq di sicuro te l'hai fatto soltanto per aiutarlo
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Feb 2006
Città: Varese
Messaggi: 1017
|
Quote:
uso vb 6 |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
|
La funzione fibonacci() non esiste in vb, l' ho scritta io (come ad esempio puoi inventartene una tu).
Sai che la serie di fibonacci segue queste regole: - F(0) = 1 - F(1) = 1 - F(n) = F(n-1) + F(n-2) Infatti ricavi: 1 1 2 3 5 8 13 21 34 55 ..... Semplicemente ho creato una funzione che riceve un parametro di tipo integer (ovvero l' ennesimo numero della serie da calcolrare); poi controllo che il parametro sia =0, =1 oppure diverso ... se =0 o =1 restituisco 1 (prime 2 regole della serie) altrimenti restituisco la somma delle 2 funzioni fibonacci() (metodo ricorsivo in quanto richiamo da dentro una funzione la funzione stessa) passandogli come parametri n-1 e n-2 (come da 3° regola della serie). Il metodo ricorsivo è usato spesso, come ad esempio nel calcolo del fattoriale.
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Feb 2006
Città: Varese
Messaggi: 1017
|
Quote:
|
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Feb 2006
Città: Varese
Messaggi: 1017
|
mi a errore di compilazione : prevista matrice
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
|
Funziona bene ... attento a fare copia incolla (la funzione è completa, ma la prima parte del codice era solo uno spunto, devi inserirlo nell' evento del pulsante ed inserire nel form il pulsante, la label e la textbox ...).
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino |
![]() |
![]() |
![]() |
#11 |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Mi permetto di suggerire un paio di migliorie.
La prima: adoperare un'implementazione iterativa della successione di Fibonacci al posto di una ricorsiva, in modo da risparmiare un bel po' di chiamate di funzioni. E' sufficiente adoperare due variabili intere. La seconda: invece di chiamare n volte una funzione che restituisce l'i-esimo numero di Fibonacci, chiamare una volta sola una funzione che calcola i primi n numeri di Fibonacci aggiungendoli man mano a una stringa inizialmente vuota. Sarebbe un bell'esercizio di manipolazione di stringhe e conversione di tipi.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Nov 2005
Città: Bordeaux - France
Messaggi: 364
|
In effetti questo è il classico problema che si risolve felicemente col paradigma della programmazione dinamica. Il metodo ricorsivo proposto prima porta ad una complessità assurda per un problema così semplice.
__________________
- fuocofatuo - |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:23.