UNIX – Recursividad en funciones.-

Entre todas las posibilidades que dan las funciones, una de ellas es la recursividad. Una función recursiva es la que se llama a sí misma dentro de su código, es una técnica que se suele usar para simplificar algoritmos complejos. En este apartado podríamos tirarnos un buen rato, pero no estamos aquí para aprender sobre recursividad, por lo que me voy a limitar a explicar un ejemplo típico de la recursividad: el factorial de un numero.

#!/bin/bash
# Declaramos la función factorial  
function factorial() 
{ 
   if (( $1 < 2 ))
   then
     echo 1
   else
     # Aquí realizamos la recursividad llamando a factorial desde factorial
     echo $(( $1 * $(factorial $(( $1 - 1 ))) ))
   fi
}
# Llamamos a la función 
factorial $1

Como vemos, la función factorial recibe un número y con ese número llama recursivamente otra vez a factorial pero decrementado en uno este número, hasta que llega a uno y termina, volviendo hacia atrás y dando el valor de la recursividad por la salida estándar.

Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.