Recursividad en Karel

• La recursividad en los lenguajes de programación le da al lenguaje una gran capacidad para resolver problemas complejos con soluciones cortas.
• Una función esrecursiva. Cuando invocamos por primera vez, Karel carga a memoria una copia de su código. En base a la evaluación de una “condición”, dentro de un “if(condición)”, ocurre la llamada o invocación ala misma función, en ese momento Karel carga a memoria otra copia de la nuevo función invocada, y la copia anterior la deja pendiente de ser terminada. Este proceso se estaría repitiendo mientrasse cumpla la “condición” desde la cual se está haciendo la llamada recursiva, es decir, la actual copia de la nueva función.


-Demostración de cómo funciona la recursividad

Supongamosque Karel está en una esquina donde hay “n” trompos o zumbadores, el objetivo del robot es levantar los “n” trompos, y luego que avance un número igual de “n” cuadras, en la misma dirección en quese inicio su tare, es decir, que deberá avanzar la misma cantidad de “n” en ambos. Utilizaremos como ejemplo la función “levantaYAvanza()”.
En este problema “n” es igual a 5, es decir, Karelavanzará 5 cuadras y 5 trompos. Serán 6 copias de la función, debido a que se incluye la copia del primer llamado. Se llevan a cabo 5 llamadas recursivas, y con la llamada original desde“program()” se completan las seis copias de la función recursiva.
En el momento en que ya no se cumple la condición del “if(condición)”, es donde termina el proceso repetitivo de llamadas recursivas. Unavez que Karel termina de procesar la sexta copia, el robot regresa a la quinta copia, para terminar de procesarla, su regreso es en la línea donde dice “puntoDeRegreso”, entonces se termina deprocesar esa quinta copia y así se repite con el resto de las copias, hasta no dejar ninguna función pendiente de procesar. Karel regresa al “puntoDeRegreso” las mismas veces que hubo de... [continua]

Leer Ensayo Completo

Cite este ensayo

APA

(2012, 05). Recursividad En Karel. BuenasTareas.com. Recuperado 05, 2012, de http://www.buenastareas.com/ensayos/Recursividad-En-Karel/4373426.html

MLA

"Recursividad En Karel" BuenasTareas.com. 05 2012. 2012. 05 2012 <http://www.buenastareas.com/ensayos/Recursividad-En-Karel/4373426.html>.

MLA 7

"Recursividad En Karel." BuenasTareas.com. BuenasTareas.com, 05 2012. Web. 05 2012. <http://www.buenastareas.com/ensayos/Recursividad-En-Karel/4373426.html>.

CHICAGO

"Recursividad En Karel." BuenasTareas.com. 05, 2012. consultado el 05, 2012. http://www.buenastareas.com/ensayos/Recursividad-En-Karel/4373426.html.