iniciar-programa
define-nueva-instruccion pared como inicio
    mientras frente-libre hacer avanza;
    gira-izquierda;
fin;
define-nueva-instruccion paso como inicio
    si frente-bloqueado entonces gira-izquierda
    sino inicio
        avanza;
        si derecha-libre entonces inicio
            repetir 3 veces gira-izquierda;
            avanza;
            si derecha-libre entonces inicio
                repetir 3 veces gira-izquierda;
                avanza;
            fin;
        fin;
    fin;
fin;
define-nueva-instruccion buscar como inicio
    gira-izquierda;
    mientras frente-libre y no junto-a-zumbador hacer avanza;
    si junto-a-zumbador entonces apagate
    sino inicio
        repetir 2 veces gira-izquierda;
        mientras frente-libre hacer avanza;
        gira-izquierda;
    fin;
fin;
define-nueva-instruccion problema como inicio
    mientras no junto-a-zumbador hacer inicio
        paso;
        buscar;
    fin;
fin;
    inicia-ejecucion
         pared;
         problema;
        apagate;
    termina-ejecucion
finalizar-programa
