iniciar-programa
define-nueva-instruccion iniciar como
inicio
    gira-izquierda;
    gira-izquierda;
    gira-izquierda;
    mientras frente-libre hacer
    inicio
        avanza;
    fin;
    gira-izquierda;
    gira-izquierda;
fin;
define-nueva-instruccion mide-mitad como
inicio
    si frente-libre entonces
    inicio
        avanza;
        avanza;
        mide-mitad;
        avanza;
    fin
    sino inicio
        gira-izquierda;
        gira-izquierda;
    fin;
fin;
define-nueva-instruccion busca-abajo como
inicio
    mientras derecha-bloqueada y frente-libre hacer
    inicio
        avanza;
    fin;
    si derecha-bloqueada entonces
    inicio
        gira-izquierda;
    fin
    sino inicio
        gira-izquierda;
        gira-izquierda;
        gira-izquierda;
        avanza;
    fin;
fin;
    inicia-ejecucion
        mientras no-orientado-al-norte hacer
        inicio
            iniciar;
            mide-mitad;
            deja-zumbador;
            mientras frente-libre hacer
            inicio
                avanza;
            fin;
            gira-izquierda;
            gira-izquierda;
            busca-abajo;
        fin;
        apagate;
    termina-ejecucion
finalizar-programa