iniciar-programa
define-nueva-instruccion mira-este como
inicio
  mientras no-orientado-al-este hacer
    gira-izquierda;
fin;
define-nueva-instruccion gira-derecha como
inicio
  repetir 3 veces
    gira-izquierda;
fin;
define-nueva-instruccion ubicate como
inicio
  avanza;
  gira-izquierda;
  avanza;
  gira-derecha;
fin;
define-nueva-instruccion regresa(n) como
inicio
  mira-este;
  repetir n veces
    avanza;
  gira-derecha;
  mientras frente-libre hacer
    avanza;
  repetir 2 veces
    gira-izquierdA;
fin;
define-nueva-instruccion encuentrafondo como
inicio
  mientras no-orientado-al-sur hacer
    gira-izquierdA;
  mientras frente-libre hacer
    avanza;
  gira-derecha;
  mientras frente-libre hacer
    avanzA;
  mira-este;
fin;
define-nueva-instruccion reconstruye(n) como
inicio
repetir 2 veces
inicio
    repetir precede(n) veces
    inicio
      si algun-zumbador-en-la-mochila entonces
      inicio
        si no-junto-a-zumbador entonces
        inicio
          deja-zumbador;
        fin;
        ubicate;
      fin;
      si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces
      inicio
        deja-zumbador;
      fin;
    fin;
    si algun-zumbador-en-la-mochila entonces
    regresa(n);
fin;

  si algun-zumbador-en-la-mochila entonces
    reconstruye(sucede(n));
fin;
define-nueva-instruccion punta como
inicio
  si junto-a-zumbador entonces
  inicio
    repetir 2 veces
      avanza;
    punta;
    avanza;
  fin
  sino
  inicio
    repetir 2 veces
      gira-izquierda;
    avanza;
  fin;
fin;
    inicia-ejecucion
    mira-este;
    si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces
      deja-zumbador;
    avanza;
    si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces
      deja-zumbador;
    avanza;
    gira-izquierda;
    reconstruye(2);
    encuentrafondo;
    punta;
    gira-derecha;
    mientras junto-a-zumbador hacer
      avanzA;
    repetir 2 veces
      gira-izquierda;
    avanza;
    repetir 2 veces
      gira-izquierda;

        apagate;
    termina-ejecucion
finalizar-programa
