iniciar-programa
define-nueva-instruccion derecha como inicio
    repetir 3 veces inicio
    gira-izquierda;
    fin;
    fin;
    define-nueva-instruccion vuelta como inicio
     repetir 2 veces inicio
     gira-izquierda;
     fin;
     fin;
    define-nueva-instruccion mide como inicio
    mientras  derecha-bloqueada y no junto-a-zumbador y frente-libre hacer inicio
    avanza;
    mide;
     si derecha-libre y no-junto-a-zumbador entonces inicio
    repetir 3 veces inicio
    gira-izquierda;
    fin;
    avanza;
    fin;
    si frente-bloqueado y junto-a-zumbador y orientado-al-oeste entonces inicio
     gira-izquierda;
     avanza;
     fin;
    (*deja-zumbador;     *)
    fin;
   si frente-bloqueado y derecha-bloqueada entonces inicio
     deja-zumbador;
      fin;
    fin;
 (*define-nueva-instruccion recoge como inicio
       si junto-a-zumbador entonces inicio
       coge-zumbador;
       recoge;
       fin;
       fin;     *)
    inicia-ejecucion
   si orientado-al-oeste entonces inicio
    derecha;
    fin;
   si orientado-al-este entonces inicio
     gira-izquierda;
     fin;
   si orientado-al-sur  entonces inicio
    vuelta;
    fin;
    avanza;
     deja-zumbador;
     avanza;
   repetir 4 veces  inicio
    mide;
     fin;
    mientras frente-libre hacer inicio
    avanza;
    fin;

   (*  mientras derecha-bloqueada hacer inicio
     avanza;
     recoge;
     fin; *)

        apagate;
    termina-ejecucion
finalizar-programa
