Lalo

Solo disponible en BuenasTareas
  • Páginas : 15 (3549 palabras )
  • Descarga(s) : 0
  • Publicado : 31 de marzo de 2011
Leer documento completo
Vista previa del texto
RECURSIVIDAD EN KAREL

El tema de la recursividad permite ejecutar una función dentro de si misma, obteniendo la optimización y la posibilidad de resolver ciertos problemas con este método. Esto es debido a que la recursividad permite dejar pendiente acciones para ejecutar de nuevo la función, una vez que la condición que permite ‘salirse’ del ‘ciclo’ que ejecuta la función dentro de si misma,se realizarán esas acciones pendientes.

En inglés plano, recursión[1] es el procesar un procedimiento donde uno de los pasos de ese procedimiento, involucra ejecutar el mismo procedimiento por entero. Un procedimiento que hace esto a través de la recursión, se dice que es recursivo. Algunas veces se entiende que se es recursivo es el resultado de un procedimiento recursivo.

Para entender larecursión, uno debe de entender la distinción entre el procedimiento y la corrida del procedimiento. Un procedimiento es una serie de pasos los cuales deben ser ejecutados basados en una serie de reglas. La corrida de un procedimiento involucra seguir las reglas y ejecutar los pasos. Una analogía podrá ser que un procedimiento como una comida en la cual están los posibles pasos, mientras correr elprocedimiento es escoger el curso para la comida desde la receta.

Un procedimiento es recursivo si uno de los pasos que forma el procedimiento, hace que se llame a una nueva corrida del procedimiento. Por consiguiente en un curso recursivo de cuatro comidas, donde una sería una comida dentro de la cuál uno puede elegir entre: entremés, ensalada, sopa, o el postre que fue una comida enteradentro de sí misma. Así es que una comida recursiva podría ser papa, ensalada de verduras, parmesano, y para postre, una de las comidas posibles que podrán consistir en: pastel, ensalada César, etc.; y para una sopa tantas como existan, y el pastel de chocolate como postre, así hasta que cada una de las comidas dentro de las otras comidas, sean completadas.

O una definición obtenida deldiccionario:

|Recursión. Véase recursión. |

Supóngase que una nueva instrucción llamada ‘recorre’ contiene 5 pasos, pero en el 3 paso se llama así misma. También supondremos que la nueva instrucción se llama así misma 4 veces únicamente debido a la condición la cual se cumplirá, es decir, se ejecutará 5 veces del paso 1 al 3, y la quinta vez en que seejecute se hará de forma completa (porque la condición para salirse, se cumplió), para luego continuar del paso 4 al 5, cuatro veces.

La ejecución lo forman 25 pasos (número de ejecuciones x número de veces a ejecutarse = total de pasos – 5x5=25), esta se muestra en la siguiente tabla:

|Vez |1 |2 |3 |4 |5 |
|Paso # | | | | | |
|1 |1| | | | |
|2 |2 | | | | |
|3 |3 | | | | |
|4 | |1 | | | |
|5 | |2 | | | |
|6 | |3 | | | |
|7 | | |1 | | |
|8 | | |2 | | |
|9 | | |3 | | |
|10| | | |1 | |
|11 | | | |2 | |
|12 | | | |3 | |
|13 | | | | |1 |
|14 | | | | |2 |
|15 | | | | |3 |
|16 | | | | |4 |
|17 | | | | |5 |
|18 | | | |4 ||
|19 | | | |5 | |
|20 | | |4 | | |
|21 | | |5 | | |
|22 | |4 | | | |
|23 | |5 | | | |
|24 |4 | | | | |
|25 |5 | | | | |

De esta manera, la recursividad permite seguir ejecutando la misma...
tracking img