Karel

Páginas: 2 (267 palabras) Publicado: 29 de enero de 2013
Se Dice que Una Función es Recursiva cuando se Invoca a sí Misma en un Punto Obviamente Desde Adentro de su Código.

La n Cumple Funciones de un Numero que NoConocemos y a Esto se le Llama Recursiva.
Las Condiciones Son Los factores para que Karel Pueda Hacer Acciones Como Avanzar n Cuadras
Tomar n cosas Etcétera.
Cada Vez que seHace una recursiva karel Pone en una Memoria Una copia de la Función invocada.
Después Cada vez Karel Pone Su copia en su lugar llamándole así ‘’puntoDeRegreso’’Después viene el Proceso de Conteo, Que para saber cuántos trompos Recogieron ya que a cada trompo recogido se lleva a cabo la recursiva.

Intentemos ahora llamar a unainstrucción desde sí misma, recordemos que debe de tener una base y una definición recursiva.

...

void recursiva () {

if (frontIsClear) { move(); recursiva()}

Nota que en Karel es imposible decirle que termine la instrucción, así que mejor invertimos la condición y avanzamos si el frente está libre, ¡es otra forma deponer la base!, porque, en otras palabras, la base es lo que hace que la recursión termine y no sea infinita. Nota también que en este caso las operaciones que hacemos sonsolamente "move();". Algo diferente al factorial ¿no?
¡Así es! Karel avanzará mientras el frente este libre. Entonces te preguntarás ¿no sería mejor un ciclo mientras?Y la respuesta es: si solamente quieres hacer eso, sí, sin embargo, ¿que tal si quieres contar con zumbadores cuantos pasos avanzaste? ¡A verdad! Si queremos hacer eso,debemos agregarle una línea a nuestro código:

...

void recursiva () {

if (frontIsClear) {

move();

recursiva();

putbeeper();
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Karel
  • karel
  • Karel
  • karel
  • karel
  • Karel
  • karel
  • Karel

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS