 iniciar-programa
   define-nueva-instruccion media-Vuelta como repetir 2 veces gira-izquierda;
   define-nueva-instruccion gira-Derecha como repetir 3 veces gira-izquierda;
  define-nueva-instruccion pasa(k) como inicio
   si junto-a-zumbador entonces inicio
   coge-zumbador;
   pasa(sucede(k));
   fin sino inicio
   avanza; avanza; repetir k veces deja-zumbador;
   media-vuelta;  avanza; avanza;  media-vuelta;
   fin;
   fin;
  define-prototipo-instruccion saca;
  define-nueva-instruccion uno como
   inicio
   mientras no orientado-al-sur hacer inicio
   gira-izquierda;
   fin;
   mientras frente-libre hacer avanza;
   gira-izquierda;
   mientras junto-a-zumbador hacer inicio avanza; fin;
   deja-zumbador;
   media-vuelta;
   mientras frente-libre hacer avanza;
   gira-derecha; avanza;
   mientras frente-libre y no junto-a-zumbador hacer inicio avanza; fin;
   si junto-a-zumbador entonces inicio saca; fin;
  fin;
  define-nueva-instruccion dos  como
   inicio
   mientras no orientado-al-sur hacer inicio
   gira-izquierda;
   fin;
   mientras frente-libre hacer avanza;
   gira-izquierda;
   mientras junto-a-zumbador hacer inicio avanza; fin;
   deja-zumbador; deja-zumbador;
   media-vuelta;
   mientras frente-libre hacer avanza;
   gira-derecha; avanza;
   mientras frente-libre y no junto-a-zumbador hacer inicio avanza; fin;
   si junto-a-zumbador entonces inicio saca; fin;
 fin;
  define-nueva-instruccion saca como
   inicio
   si junto-a-zumbador entonces inicio
   coge-zumbador;
   si junto-a-zumbador entonces inicio
   coge-zumbador;
   avanza; deja-zumbador;
   media-vuelta;
   avanza;
   media-vuelta;
   saca;
   fin
   sino inicio
   uno;
   fin;
   fin
   sino inicio
   dos;
   fin;
   fin;
 define-nueva-instruccion coge como inicio
  si no junto-a-zumbador y frente-libre entonces inicio
  mientras derecha-bloqueada hacer avanza;
  gira-derecha; avanza; gira-derecha;
  mientras frente-libre hacer inicio avanza; fin;
  media-vuelta;
  fin;
   si orientado-al-este y junto-a-zumbador entonces
   inicio
   coge-zumbador;
   si junto-a-zumbador entonces inicio
   coge-zumbador; avanza;
   coge;
   si orientado-al-este entonces avanza;
   fin sino
   inicio
   avanza;
   coge;
   si orientado-al-este entonces
   inicio
   deja-zumbador; avanza;
   fin;
   fin;
   fin;
fin;
  inicia-ejecucion
  mientras no orientado-al-norte hacer gira-izquierda;
  pasa(0);
  mientras no junto-a-zumbador y frente-libre  hacer inicio avanza; fin;
  si junto-a-zumbador entonces inicio saca;
  fin sino si frente-bloqueado entonces inicio
  media-vuelta; mientras frente-libre hacer inicio avanza; fin;
  gira-izquierda;
   mientras derecha-bloqueada hacer avanza;
  gira-derecha; avanza; gira-derecha;
  mientras frente-libre hacer inicio avanza; fin;
  media-vuelta;
  avanza; repetir 2 veces deja-zumbador; apagate;
  fin;
  media-vuelta; mientras frente-libre hacer inicio avanza; fin;
  gira-izquierda;
  coge;
  repetir 2 veces deja-zumbador;
        apagate;
    termina-ejecucion
finalizar-programa
