
iniciar-programa
    define-nueva-instruccion g(h) como
    inicio
        repetir h veces
        gira-izquierda;
    fin;
    define-nueva-instruccion final como
    inicio
        mientras no-orientado-al-sur hacer
        g(1);
        mientras frente-libre hacer
        avanza;
        g(3);
        mientras frente-libre hacer
        avanza;
    fin;
    define-nueva-instruccion dejar como
    inicio
        si derecha-bloqueada entonces
        inicio
        deja-zumbador;
        avanza;
        dejar;
        deja-zumbador;
        fin
        sino
        inicio
            g(3);
            avanza;
            si junto-a-zumbador entonces
            final
            sino
            dejar;
            fin;

    fin;
    define-nueva-instruccion perimetro como
    inicio
       mientras no-orientado-al-norte hacer
       g(1);
       avanza;
       avanza;
       dejar;

    fin;
    inicia-ejecucion
    perimetro;
    apagate;
    termina-ejecucion
finalizar-programa
