6 febrero, 2025

GENERAR SECUENCIA DE SUCESIÓN DE FIBONACCI CON POWER APPS

Hola a todos!

En esta web hay varios post en los que genero el algoritmo de sucesión de Fibonacci en varios idiomas, VBA, Typescript, etc.. y hoy he querido hacerlo con Power Apps.

He optado por generar la información en una colección y luego además pasar esa información a una cadena de texto separada por comas.

Para ilustrar la explicación no hay nada mejor que un ejemplo:

He construido esta App para que podamos generar tantos elementos en la secuencia de Fibonacci como hayamos indicado en el textInput.

Una vez pulsado el botón, pasaremos la colección al cuadro de lista (que nos permite mostrar las colecciones) y de la colección generada vamos a generar también una cadena en el label.

El por ejemplo, 15:

El código que genera todo esto lo vamos a colocar en la propiedad OnSelect de nuestro botón:

Clear(ColFibonacci);; 
// Agregamos los dos primeros números a la colección
Set(fib1; 0);;
Set(fib2; 1);;
Collect(ColFibonacci; {Indice: 1; Valor: fib1});;
Collect(ColFibonacci; {Indice: 2; Valor: fib2});;
//Indicamos los números que queremos generar en la secuencia
Set(FibLength; TextInput1.Text);; 
//Generamos secuencia
ForAll(
    Sequence(If(FibLength - 2<0;0;FibLength - 2));
    With(
        {
            Ant1: Last(ColFibonacci).Valor;
            Ant2: Last(FirstN(ColFibonacci; CountRows(ColFibonacci) - 1)).Valor
        };
        Collect(
            ColFibonacci;
            {
                Indice: CountRows(ColFibonacci) + 1;
                Valor: Ant1 + Ant2
            }
        )
    )
);;
//Pasamos la colección a una cadena
Set(Cadena; 
    Left(
        Concat(ColFibonacci; Valor & ", "); 
        Len(Concat(ColFibonacci; Valor & ", ")) - 2
    )
)

Luego para visualizar estos elementos, colocaremos en la propiedad Items del cuadro de lista, la el valor de la colección:

ColFibonacci.Valor

Y en el label en la propiedad Text:

Cadena

Y esto es todo, espero que sea de interés.

Saludos.

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies