iniciar-programa
define-nueva-instruccion atravesar como inicio
      si frente-libre  entonces inicio
              gira-izquierda;
               si frente-libre entonces inicio
                   repetir 3 veces gira-izquierda;
                   mientras frente-libre y izquierda-libre hacer avanza;
                  fin;
                fin;
           si frente-bloqueado y orientado-al-este entonces inicio
                  repetir 2 veces gira-izquierda;
                  si frente-libre entonces inicio
                      gira-izquierda;
                      si frente-libre entonces avanza;
                      fin;
                  si frente-bloqueado entonces inicio
                  gira-izquierda;
                  si frente-libre entonces avanza;
                  mientras frente-libre y derecha-libre hacer avanza;
                  mientras frente-libre y izquierda-libre hacer avanza;
                  atravesar;
                  deja-zumbador;
                  fin;
          fin;
        si frente-bloqueado y orientado-al-sur entonces inicio
                 gira-izquierda;
                 mientras frente-libre y derecha-bloqueada hacer avanza;
               si derecha-libre entonces inicio
                  repetir 3 veces gira-izquierda;
                  avanza;
                  atravesar;
                  fin
                  sino inicio
                  si frente-bloqueado y derecha-bloqueada entonces inicio
                      repetir 2 veces gira-izquierda;
                      mientras frente-libre y izquierda-bloqueada hacer avanza;
                      si izquierda-libre entonces  inicio
                      gira-izquierda;
                      avanza;         
                      atravesar;
                      fin
                      sino iniciO
                      fin;
                      fin;
           fin;
           fin;
           fin;
    inicia-ejecucion
      repetir 3 veces gira-izquierda;
      mientras frente-libre hacer avanza;
      gira-izquierda;
       mientras no junto-a-zumbador hacer inicio
       atravesar;
       si frente-bloqueado y izquierda-bloqueada entonces apagate;
       fin;
        apagate;
    termina-ejecucion
finalizar-programa
 
