La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -10-

Presentaciones similares


Presentación del tema: "Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -10-"— Transcripción de la presentación:

1 Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -10-

2 2   La recursion o recursividad es una técnica de resolución de algunos problemas particulares. Se dice que la definicion de un concepto es recursiva si el concepto es definido en términos de si mismo Se dice que la definicion de un concepto es recursiva si el concepto es definido en términos de si mismo.   Un ejemplo bastante conocido de la definición de una función recursiva es el de la función factorial (!), definida para los enteros positivos: Programación I – Recursividad

3 3 Caso base o elemental. Una definición recursiva, circular o caso general

4 4   Módulo recursivo: Cuando un modulo (función) se define en términos de si mismo. Es decir, un módulo es recursivo si dentro del cuerpo del modulo existe una invocacion a si mismo, Esto último corresponde al caso recursivo o general, y existe uno o varios casos elementales que corresponden a el, o los, casos bases. Programación I – Recursividad

5 5   ¿Por que escribir módulos recursivos, cuando existen las iteraciones?   En la mayoría de los casos, una función recursiva se puede reemplazar por una función iterativa; sin embargo, muchas veces la solución recursiva resulta: mas clara e intuitiva que la iterativa; permite definir módulos complejos de manera muy compacta.   Perooooo: El programador debe hacer un balance entre los beneficios de un modulo sencillo, escrito con mayor facilidad, contra el tiempo adicional de ejecución, Posibilidad de dificultades para encontrar y corregir errores inherentes a una solución recursiva. Programación I – Recursividad

6 6 Definición Circular Caso Elemental Invocación de la función Programación I – Recursividad - Ejemplo

7 7 Ejecución de la Función Programación I – Recursividad - Ejemplo Profundidad de la Recursión

8 8 Ejemplo: #include …. main(){ printf("Ingrese un numero natural:"); scanf("%d",&n); if (par(n)) printf("El numero %d es par\n", n); else printf("El numero %d es impar\n", n); } int par(int n) { if (n == 0) return 1; return impar(n-1); } int impar(int n) { if (n == 0) return 0; return par(n-1); } Programación I – Recursividad – Ejemplo adicional


Descargar ppt "Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -10-"

Presentaciones similares


Anuncios Google