iniciar-programa
        define-nueva-instruccion gira-derecha como
        inicio
            repetir 3 veces gira-izquierda;
        fin;

        define-nueva-instruccion vuelta como
        inicio

           si frente-bloqueado y derecha-bloqueada y izquierda-bloqueada entonces
           inicio
             gira-izquierda;
             gira-izquierda;
             repetir 5 veces deja-zumbador;
           fin
           sino
           inicio
              si frente-bloqueado y izquierda-bloqueada entonces gira-derecha
              sino
                 si frente-libre y derecha-libre y izquierda-libre entonces
                 inicio
                   gira-izquierda;
                   avanza;
                 fin
                 sino
                    si frente-libre y derecha-bloqueada y izquierda-libre entonces
                    inicio
                      gira-izquierda;
                      avanza;
                    fin
                    sino
                       si frente-bloqueado y derecha-libre y izquierda-libre entonces
                       inicio
                         gira-izquierda;
                         avanza;
                       fin
                       sino
                          si frente-bloqueado y derecha-bloqueada entonces
                          inicio
                            gira-izquierda;
                            avanza;
                         fin
                         sino
                           si frente-libre y derecha-libre y izquierda-libre entonces
                           inicio
                              gira-izquierda;
                              avanza;
                           fin;

           fin;
        fin;
    inicia-ejecucion

        deja-zumbador;
        mientras izquierda-bloqueada hacer
        inicio
           mientras frente-libre y izquierda-bloqueada hacer avanza;

       si junto-a-zumbador entonces
        inicio
           coge-zumbador;
           si junto-a-zumbador entonces deja-zumbador
           sino
           inicio
             repetir 5 veces deja-zumbador;
             apagate;
           fin;

        fin;

           repetir 5 veces deja-zumbador;
           vuelta;
        fin;
        apagate;
    termina-ejecucion
finalizar-programa
