¡PHP en 5 minutos! Funciones, arrays y bucles con Fibonacci

Hoy vamos a practicar un montón de cosas distintas: funciones, arrays y bucles PHP. El ejercicio de hoy es ideal para los programadores de otros lenguajes que quieren aprender rápidamente la sintaxis PHP.

En el siguiente video vamos a programar la función Fibonacci. Si no tienes mucha experiencia no te preocupes, puedes hacer pausa en los puntos que consideres e investigar por tu cuenta las cosas que todavía no conozcas bien. El ejercicio está en GitHub.

Fibonacci

También es bueno para la salud porque requiere algo de esfuerzo neuronal. ¡Hay que estrujarse un poco el cerebro y pensar algo por tu cuenta! Allá va el video que hemos publicado en el curso de programación PHP guay.

Aprovecho ahora para explicarte 1 cosa. He realizado este video intentando aplicar la idea nueva para mí de “hacerlo rápido”. ¡A lo mejor alguien lo encuentra gracioso! Estos días ando experimentando cosas nuevas que generen algo de buzz, como explico aquí.

Por otro lado, el siguiente video es un poco satírico, quiere notar que hay cursos de programación e informática que te prometen aprender todo en 1 semana. Puedes clicar aquí para ampliar más esta información, trata de las estafas de los cursos de programación e informática. Al final de ese post hay un enlace a un artículo de Peter Norvig muy recomendable.

¿Ya has visto el video? Este ejercicio está programado en PHP CLI. El código es sencillo, simplemente definimos la función Fibonacci y justo a continuación la llamamos para imprimir la sucesión.

Una cosa muy importante es el número de veces que se ejecuta el cuerpo del bucle.

Fíjate que se ejecuta n-2 veces:

Así, por ejemplo, si el usuario de la función pasa un 10, el cuerpo del bucle se ejecutará 8 veces. No queremos ejecutarlo 10 veces porque los dos primeros elementos de la sucesión, f1=1 y f2=1, ya los hemos calculado nosotr@s.

Si el usuario pasa un 9, el cuerpo se ejecutará 7 veces, y así sucesivamente…

En el video anterior fuimos tan rápido que no reparamos en un pequeño error conceptual en nuestro algoritmo Fibonacci. Bueno, para ser precisos no se trata de un error, porque aquel programa funciona bien; es más bien una cuestión de eficiencia. ¿Lo ves?

Muchas veces cuando programamos rápido podemos pasar por alto aspectos del código que no se ven a primera vista, tales como la eficiencia o rapidez con que se ejecuta nuestro código.

El algoritmo anterior es un poco redundante. Cabe preguntarse, ¿es necesario contar todos los elementos del array $numbers en cada interación del bucle? Evidentemente, la respuesta es no.

En la variante Fibonacci anterior comenzamos a iterar en $i=2 y acabamos en $i<$n. Recuerda que lo realmente importante es el número de veces que se ejecuta el cuerpo del bucle. De modo que ahora empezamos a contar elementos de la forma más conveniente para nosotr@s, desde $i=2, para que el índice $i nos sirva para llevar el conteo de los elementos que vamos añadiendo a $numbers.

0 comentarios

¿Me dejas un comentario? ¡Gracias!

Deja un comentario

Los campos obligatorios están marcados con *