iniciar-programa

define-nueva-instruccion gira(n) como repetir n veces gira-izquierda;

define-nueva-instruccion construir(a) como inicio
    deja-zumbador;
    gira(a);
    mientras (si-es-cero(precede(precede(precede(a)))) y derecha-libre) o (si-es-cero(precede(a)) y izquierda-libre)  hacer inicio
        gira(a);
        avanza;
        gira(sucede(sucede(a)));
        avanza;
        deja-zumbador;
    fin;
fin;

define-nueva-instruccion contador como inicio
    si orientado-al-norte entonces inicio construir(3);
    fin sino construir(1);
    si algun-zumbador-en-la-mochila entonces inicio
        avanza;
        contador;
    fin;
fin;

    inicia-ejecucion

    si algun-zumbador-en-la-mochila entonces contador;

        apagate;
    termina-ejecucion
finalizar-programa
