PROYECTO RECURSIVIDAD
• La recursividad en los lenguajes de programación le da al lenguaje una gran capacidad para resolver problemas complejos con solucionescortas.
• 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 dejapendiente 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 actualcopia 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 delrobot 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 lamisma 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()” secompletan 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 llamadasrecursivas. 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
Regístrate para leer el documento completo.