jueves, enero 12, 2017

Recomendamos: VBA: Números de Fibonacci en Excel

VBA: Números de Fibonacci en Excel

Hace algún tiempo publiqué como conseguir un listado de números primos (ver post).
Hoy veremos otro clásico atemporal: La Sucesión de Fibonacci.
Puedes leer algo más en Wikipedia.

Básicamente es una secuencia creciente de números enteros naturales donde cada valor es la suma de los dos anteriores, siendo los dos primeros elementos de la Sucesión el 0 y el 1, así:
0, 1, 1, 2, 3, 5, 8, 13, 21, etc...


Emplearemos una macro, basándonos en el algoritmo de la Sucesión y nuevamente empleando Arrays para componer nuestro procedimiento.

Insertaremos el siguiente procedimiento en un módulo estándar de nuestro proyecto de VB:

Sub SucesionFibonacci()
Dim f0 As Long, f1 As Long, elementos As Integer
f0 = 0: f1 = 1
elementos = 25
'dimensionamos nuestra Array al número de elementos deseados
ReDim Fib(1 To elementos) As Long

'Rellenamos la matriz con los elementos de la Serie de Fibonacci
Fib(1) = f0 'asignamos dato al primer valor
Fib(2) = f1 'asignamos dato al segundo valor
For i = 3 To UBound(Fib)
Fib(i) = f0 + f1 'Calcula el dato como suma de un elemento más el anterior
'hacemos la recurrencia para los siguientes elementos
f0 = f1
f1 = Fib(i)
Next i

'Generamos un MsgBox para ver la secuencia de Fibonacci
txt = ""
For elto = 1 To UBound(Fib)
txt = txt & elto & vbTab & Fib(elto) & vbTab & vbCrLf
Next elto
'Mostramos el sucesión generada...
mensaje = MsgBox(txt, , "Sucesión Fibonacci")

End Sub


Si lanzamos la macro veremos:

VBA: Números de Fibonacci en Excel


Obviamente podríamos haber obtenido nuestra Sucesión de Fibonacci con una sencilla fórmula en nuestra hoja de cálculo.
Disponemos en A1 el valor 0
en A2 el valor 1
y en A3 la fórmula =A1+A2
para luego arrastrar hacía abajo..

VBA: Números de Fibonacci en Excel


En ambas formas habrá que tener precaución con el límite de precisión de Excel (15 dígitos), ya que a partir del elemento 75, la precisión de Excel nos devolverá valores incompletos o no válidos.
http://ift.tt/1ecue6Z
Ahora también Cursos de Excel y Macros en www.excelforo.com


Excel

via [EXCEL FORO: EJERCICIOS, EJEMPLOS, SOLUCIONES, DUDAS] [http://ift.tt/2jAf2e1]

January 11, 2017 at 08:11PM

No hay comentarios.:

Publicar un comentario