VBA: Hvordan lage en Fibonacci-sekvens

Submitted by lroedal on Mon, 12/11/2017 - 00:04

Fibonacci-sekvensen er en betegnelse på en matematisk sekvens hvor tallrekken øker gradvis. Du begynner med to tall, og 1. Du legger sammen de to forrige tallene i rekken for å skape det neste, og slik vil rekken bygge seg oppover, slik som dette: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ..........

Det er relativt enkelt å gjenskape denne sekvensen programmatisk, dette kan dere se et eksempel på i kodevinduet under.

  1. Function Fibonacci(number As Double) As String
  2. Dim first, second, sum, i As Double
  3. Fibonacci = "0, 1" 'setter dette til standardverdi i stringen, siden vi stort sett vil ha beregnet for flere ganger enn to.
  4.  
  5. first = 0
  6. second = 1
  7. sum = 0
  8.  
  9. Select Case number 'henter tallet fra det brukeren har gitt til funksjonen
  10. Case 0
  11. Fibonacci = "0"
  12. Case 1
  13. Fibonacci = "1"
  14. Case Else
  15. For i = 2 To number 'looper fra 2 og opp til nummeret brukeren har gitt
  16. sum = first + second 'summerer opp
  17. Fibonacci = Fibonacci + ", " + CStr(sum) 'legger dette i stringen
  18. first = second 'legger det største tallet over det minste
  19. second = sum 'legger summen over det største tallet
  20. Next i
  21. End Select
  22.  
  23. End Function
  24.  
  25. Private Sub btnRegnUt_Click()
  26. Dim number As Double
  27. Dim fibOutput As String
  28. number = CDbl(txtInput.Value) 'henter inn tallet fra en tekstboks
  29. fibOutput = Fibonacci(number) 'bruker funksjonen over til å kalkuere og sende tilbake resultatet som en string
  30. Me.lblFibonacci.Caption = fibOutput 'legger resultatet i en label
  31. End Sub