iniciar-programa

define-nueva-instruccion gira (n) como inicio
   repetir n veces gira-izquierda;
fin;

define-nueva-instruccion norte (t) como inicio
   si no si-es-cero (t) entonces inicio
      repetir t veces avanza;
      si no-junto-a-zumbador entonces deja-zumbador;
      gira (2);
      repetir t veces avanza;
      gira-izquierda;
      avanza;
      gira-izquierda;
      norte (precede (t));

   fin
   sino inicio
      si no-junto-a-zumbador entonces deja-zumbador;
   fin;
fin;

define-nueva-instruccion kabola (t) como inicio
   si junto-a-zumbador entonces inicio
      coge-zumbador;
      kabola (sucede(t));
   fin
   sino inicio


      norte (t);
      gira-izquierda;
      repetir t veces avanza;
      norte (t);
      gira-izquierda;
      repetir t veces avanza;
      norte (t);
      gira-izquierda;
      repetir t veces avanza;
      norte (t);


   fin;

fin;
    inicia-ejecucion

    mientras no orientado-al-norte hacer gira-izquierda;
    kabola (0);
        apagate;
    termina-ejecucion
finalizar-programa
