iniciar-programa

    define-nueva-instruccion linea como
    inicio

    gira-izquierda;

    mientras frente-libre hacer
    inicio
    si no-junto-a-zumbador entonces
    deja-zumbador;
    avanza;

    fin;
    deja-zumbador;
    fin;


    define-nueva-instruccion Contar(n) como
    inicio
        si frente-libre entonces
        inicio
        avanza;
        si frente-libre entonces
        avanza;
        contar(sucede(n));
        fin

        sino
        inicio

        gira-izquierda;
        gira-izquierda;

        repetir n veces
        avanza;

        linea;
        fin;
    fin;

    inicia-ejecucion

    mientras no orientado-al-sur hacer
    gira-izquierda;

    mientras frente-libre hacer
    avanza;

    gira-izquierda;

    mientras frente-libre hacer
    avanza;

    gira-izquierda;
    gira-izquierda;


    contar(0);

    gira-izquierda;
    gira-izquierda;
    gira-izquierda;

    mientras frente-libre hacer
    avanza;

    gira-izquierda;
    gira-izquierda;
    gira-izquierda;

    contar(0);

    gira-izquierda;

    mientras frente-libre hacer
    avanza;

    gira-izquierda;

    repetir 50 veces
    inicio
        si no-junto-a-zumbador entonces
        deja-zumbador;
        si frente-libre entonces
        inicio
        avanza;
        gira-izquierda;
        avanza;
        gira-izquierda;
        gira-izquierda;
        gira-izquierda;
        fin
        sino
        inicio
        gira-izquierda;
        gira-izquierda;
        mientras frente-libre hacer
        avanza;
        gira-izquierda;
        repetir 50 veces
            inicio

                si no-junto-a-zumbador entonces
                deja-zumbador;
                si frente-libre entonces
                inicio
                avanza;
                gira-izquierda;
                avanza;
                gira-izquierda;
                gira-izquierda;
                gira-izquierda
                fin
                sino
                apagate;
            fin;
         fin;
    fin;


        apagate;
    termina-ejecucion
finalizar-programa
