iniciar-programa
define-nueva-instruccion gira(e) como inicio
 repetir e veces gira-izquierda;
FIN;
define-nueva-instruccion veHastaZumbador como inicio
mientras no junto-a-zumbador y frente-libre hacer avanza;
FIN;
define-nueva-instruccion veAbajo como inicio
mientras frente-libre hacer avanza;
fin;
define-nueva-instruccion veArriba como inicio
 mientras no junto-a-zumbador y frente-libre hacer avanza;
fin;
define-nueva-instruccion mosby(n) como inicio
si frente-bloqueado y no junto-a-zumbador entonces inicio
 gira(3);
 si frente-libre entonces inicio
 avanza;
 gira(3);
 veAbajo;
 gira(2);
 mosby(0);
 fin sino inicio
  apagate;
 fin;
fin;
 si junto-a-zumbador entonces inicio
 si orientado-al-norte entonces gira(2);
 coge-zumbador;
  mosby(sucede(n));
 fin
 sino inicio
 si orientado-al-norte entonces inicio
 veHastaZumbador;
 mosby(n);
fin;
  veAbajo;
  gira(2);
  repetir n veces inicio
 si no junto-a-zumbador entonces  deja-zumbador;
 si frente-libre entonces  avanza;
  fin;
  mientras junto-a-zumbador hacer avanza;
  veArriba;
 fin;
mosby(0);
FIN;
    inicia-ejecucion
    mosby(0);
        apagate;
    termina-ejecucion
finalizar-programa
