iniciar-programa
    define-nueva-instruccion izquierda1 como repetir 3 veces gira-izquierda;
    define-nueva-instruccion izquierda2 como gira-izquierda;

    define-nueva-instruccion checa como
        inicio
           coge-zumbador;
           si junto-a-zumbador entonces
               inicio
                  deja-zumbador;
               fin sino
                   inicio
                      si frente-bloqueado y derecha-libre entonces
                          inicio
                             repetir 5 veces deja-zumbador;
                          fin sino
                              inicio
                                 si frente-bloqueado y derecha-bloqueada  entonces
                                     inicio
                                        repetir 10 veces deja-zumbador;
                                     fin;
                              fin;
                      apagate;
                   fin;
        fin;

    define-nueva-instruccion esquinas como
        inicio
           mientras izquierda-bloqueada hacer
               inicio
                  si frente-libre entonces
                      inicio
                         avanza;
                      fin sino
                          inicio
                             si izquierda-bloqueada entonces
                                 inicio
                                    si junto-a-zumbador entonces checa;
                                    repetir 5 veces deja-zumbador;
                                    izquierda1;
                                 fin sino
                                     inicio
                                        si junto-a-zumbador entonces checa;
                                        repetir 5 veces deja-zumbador;
                                        izquierda2;
                                        avanza;
                                     fin;
                          fin;
               fin;
             si junto-a-zumbador entonces checa;
             repetir 5 veces deja-zumbador;
             izquierda2;
             avanza;
             esquinas;
        fin;
    inicia-ejecucion
        si frente-bloqueado y derecha-bloqueada entonces
            inicio
                repetir 20 veces deja-zumbador;
                apagate;
            fin;
        deja-zumbador;
        si frente-bloqueado entonces
            inicio
               izquierda1;
               avanza;
            fin;
        esquinas;
        apagate;
    termina-ejecucion
finalizar-programa
