iniciar-programa
define-nueva-instruccion derecha como repetir 3 veces gira-izquierda;
define-nueva-instruccion media como repetir 2 veces gira-izquierda;
define-nueva-instruccion moverder como
inicio
  derecha;
  avanza;
fin;
define-nueva-instruccion moveratras como
inicio
  media;
  avanza;
fin;
define-nueva-instruccion caminaapared como mientras frente-libre hacer avanza;
define-nueva-instruccion caminaafinpila como
inicio
  mientras frente-libre y junto-a-zumbador hacer avanza;
  media;
  si no-junto-a-zumbador y frente-libre entonces avanza;
fin;
define-nueva-instruccion recogepila como
inicio
mientras frente-libre hacer inicio
   coge-zumbador;
   caminaapared;
   deja-zumbador;
   media;
   caminaafinpila;
   fin;
fin;
define-nueva-instruccion recogebeepers como
inicio
  mientras junto-a-zumbador hacer
  inicio
     caminaafinpila;
     recogepila;
     moverder;
     derecha;
     fin;
fin;
define-nueva-instruccion mirasur como mientras no-orientado-al-sur hacer gira-izquierda;
define-nueva-instruccion avanzabeeper como
inicio
  coge-zumbador;
  avanza;
  deja-zumbador;
  moveratras;
  media;
fin;
define-nueva-instruccion regresamonton como
inicio
   avanza;
   media;
   mientras junto-a-zumbador hacer avanzabeeper;
   avanza;
fin;
define-nueva-instruccion recogemonton como mientras junto-a-zumbador hacer coge-zumbador;
define-nueva-instruccion acarrea como
inicio
   mientras orientado-al-norte hacer inicio
      repetir 10 veces inicio
         si junto-a-zumbador entonces avanzabeeper
         sino mirasur;
         fin;
      si orientado-al-sur entonces inicio
        media;
        regresamonton;
        fin sino
           inicio
           avanza;
           recogemonton;
           moveratras;
           moverder;
           deja-zumbador;
           moveratras;
           gira-izquierda;
           fin;
   fin;
fin;
define-nueva-instruccion empieza como
inicio
   avanza;
   derecha;
   repetir 8 veces avanza;
   gira-izquierda;
   fin;

inicia-ejecucion
       empieza;
       recogebeepers;
       derecha;
       avanza;                      
       caminaafinpila;
       derecha;
       mientras junto-a-zumbador hacer inicio
          acarrea;
          moverder;
          derecha;
          fin;
       apagate;
    termina-ejecucion
finalizar-programa
