Procedimientos Recursivos

Procedimiento Recursivo Un Procedimiento recursivo es aquel que se llama asi mismo, solo que no regresa valor.

cada método (función o procedimiento), tiene ciertas reglas, las cuales se mencionan a continuación:

La Función Recursiva Debe tener ciertos argumentos llamados valores base para que esta ya no se refiera a sí misma.

El Procedimiento Recursivo es donde Cada vez que la función se refiera a sí misma debe estar más cerca de los valores base.

Propiedades de Procedimientos recursivos

  1. Debe existir criterio base para que este se llame a sí  mismo.
  2. Cada vez que el procedimiento se llame a si mismo debe estar más cerca del criterio base.

El método de las tres preguntas

Se usa para verificar si hay dentro de un programa funciones recursivas , se debe responder a 3 preguntas.

1.      La pregunta caso base: ¿hay salida NO recursiva del procedimiento o función y la rutina funciona correctamente para este caso base?

2.      La pregunta llamador más pequeño ¿Cada llamada al procedimiento o función se refiere a un caso más pequeño del problema original?

3.      La pregunta caso general, suponiendo que las llamadas recursivas funcionan correctamente ¿funciona correctamente todo el procedimiento o función?

 

Escritura de procedimiento y funciones recursivas (pasos a seguir para hacer programas recursivos).

Recursividad

Se puede utilizar el siguiente método para escribir cualquier rutina recursiva.

1.      Primero obtener una función exacta del problema a resolver.

2.      A continuación, determinar el tamaño del problema completo que hay que resolver, este tamaño determina los valores de los parámetros  en la llamada inicial al procedimiento o función.

3.      Resolver el caso base en el que el problema puede expresarse no recursivamente, esto asegura una respuesta afirmativa a la pregunta base.

4.      Por último, resolver el caso general correctamente en términos de un caso más pequeño del mismo problema, es decir una respuesta afirmativa a las preguntas 2 y 3 del método de las 3 preguntas.