Funciones y Procedimientos
En programación existe el término función que es similar al de función matemática, donde nosotros enviamos datos de entrada (argumentos), que se procesan y nos regresa una salida, que es el resultado de nuestra función.
Los procedimientos son casi idénticos a las funciones, con la variante de que no regresan información.
Como podemos ver, si el número es mayor a 0, la función factorial se llama así misma, con el valor de número - 1 consecutivamente, hasta que número -1 llegue a 0, donde regresa 1 y se detiene.
Siempre en las funciones recursivas hay que definir el cómo se van a detener, porque de lo contrario podría darse un caso de bucle (ciclo) infinito.
Los procedimientos son casi idénticos a las funciones, con la variante de que no regresan información.
Cuando una función se llama así misma, se le denomina función recursiva. El ejemplo clásico de funciones recursivas es en la aplicación del cálculo de un factorial (una función bastante usada en probabilidad, y se define con un signo de admiración "!"), que se basa en ir multiplicando un entero por todos los número anteriores hasta llegar a 1, por ejemplo 5! = 5 * 4 * 3 * 2 * 1 = 20 * 3 * 2 * 1 = 60 * 2 *1 = 120 * 1 = 120.
El pseudocódigo sería:
entero factorial (entero número)
{
si (número < 1) entonces
regresa 1
de lo contrario //Mayor o igual a 1
regresa número * factorial(número -1)
}
El pseudocódigo sería:
entero factorial (entero número)
{
si (número < 1) entonces
regresa 1
de lo contrario //Mayor o igual a 1
regresa número * factorial(número -1)
}
Como podemos ver, si el número es mayor a 0, la función factorial se llama así misma, con el valor de número - 1 consecutivamente, hasta que número -1 llegue a 0, donde regresa 1 y se detiene.
Siempre en las funciones recursivas hay que definir el cómo se van a detener, porque de lo contrario podría darse un caso de bucle (ciclo) infinito.
Más información
- Expresión lambda en Wikipedia
- Bucle infinito en Wikipedia
Comentarios
Publicar un comentario