Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Toda función definida recursivamente debe contener al menos una definición explícita para alguno
de sus argumentos. De no ser así la función puede caer en un bucle infinito.
Definición: Se llama recursividad a un proceso mediante el que una función se llama a sí misma de
forma repetida, hasta que se satisface alguna determinada condición. El proceso se utiliza para
computaciones repetidas en las que cada acción se determina mediante un resultado anterior. Se
pueden escribir de esta forma muchos problemas iterativos.
Se deben satisfacer dos condiciones para que se pueda resolver un problema recursivamente:
Ejemplo 1: problema de la resolución del factorial, pero pidiendo el valor que deseamos hallar por
teclado.
#include <stdio.h>
main()
{
int n;
long int factorial (int n);
if (n <= 1)
return(1);
else
return(n * factorial (n-1));
}
Ejemplo 2: Mostramos a continuación la versión no recursiva del factorial.
int t, res;
res=1;
res*=t;
return(res);
La versión no recursiva factiterativo() debe estar clara. Utiliza un bucle que empieza en 1 y termina
en n y que progresivamente multiplica cada número por el producto móvil.
Caso Base: una solución simple para un caso particular. Podemos tener 1,2,3… N funciones en la cual
repetimos ciclos
Caso Recursivo: se iran ejecutando operaciones de tal manera que la ultima o la que esta mas cerca
al caso base, nos determinara que ha terminado esa función recursiva
Caso recursivo: una solución que involucra volver a utilizar la funcio irignal, con parámetros que se
acercan mas al caso base.
3 cola lineal La cola lineal es un tipo de almacenamiento creado por el usuario que trabaja
mensaje (underflow)
en caso contrario
F <-- F+1
x <-- cola[F]
Concepto: Las colas lineales tienen un grave problema, como las extracciones sólo pueden realizarse
por un extremo, puede llegar un momento en que el apuntador A sea igual al máximo número de
elementos en la cola, siendo que al frente de la misma existan lugares vacíos, y al insertar un nuevo
elemento nos mandará un error de overflow (cola llena).
ALGORITMO DE INICIALIZACIÓN
F < -- 0
A<-- 0