iniciar-programa
   define-nueva-instruccion gira (n) como repetir n veces gira-izquierda;

    define-nueva-instruccion apagatete como inicio

                       si orientado-al-norte y frente-bloqueado y izquierda-bloqueada y derecha-bloqueada entonces inicio
                         gira(2);
                           si frente-bloqueado entonces inicio
                             si junto-a-zumbador entonces coge-zumbador;
                             repetir 20 veces deja-zumbador;
                             apagate;
                           fin sino inicio
                           gira(2);
                           fin;
                       fin;

             si junto-a-zumbador entonces inicio
       coge-zumbador;
      si no-junto-a-zumbador entonces inicio
       gira(1);
        si frente-bloqueado entonces inicio
           repetir 5 veces deja-zumbador;
           gira(2);
          si frente-bloqueado entonces inicio
            repetir 5 veces deja-zumbador;
           fin
          sino
           mientras frente-libre hacer avanza;
           si junto-a-zumbador entonces apagate;
             fin;
       apagate; (*aqui termina*)
      fin
     sino
      deja-zumbador;
     fin;
    fin;
        inicia-ejecucion
       deja-zumbador;
           repetir 5000 veces inicio
      mientras izquierda-bloqueada y frente-libre hacer avanza;
      apagatete;
      si orientado-al-oeste y frente-bloqueado y izquierda-bloqueada entonces inicio
      repetir 5 veces deja-zumbador;
      gira (3);
     apagatete;
      si frente-libre entonces inicio
      mientras  frente-libre y izquierda-bloqueada  hacer avanza;
      fin;
      fin;
          apagatete;
        si izquierda-libre entonces inicio repetir 5 veces deja-zumbador;
      gira (1); si frente-libre entonces avanza fin;
              apagatete;
      si frente-bloqueado entonces inicio gira-izquierda;
      si frente-bloqueado entonces repetir 5 veces deja-zumbador; gira (2) fin ;



      fin






   termina-ejecucion
finalizar-programa

