iniciar-programa

    define-nueva-instruccion mitad(n) como
    inicio
       si frente-libre entonces
          inicio
            avanza;
            avanza;
            mitad(sucede(n));
          fin
       sino
          inicio
             gira-izquierda;
             gira-izquierda;
             repetir n veces
                avanza;
             repetir 3 veces
                gira-izquierda;
             mientras frente-libre hacer
             inicio
                si no-junto-a-zumbador entonces
                   deja-zumbador;
                avanza;
             fin;
             deja-zumbador;
             gira-izquierda;
             mientras frente-libre hacer
                avanza;
             gira-izquierda;
             repetir n veces
                avanza;
             gira-izquierda;
             mientras frente-libre hacer
             inicio
                si no-junto-a-zumbador entonces
                   deja-zumbador;
                avanza;
             fin;
             deja-zumbador;             

          fin;
    fin;

    inicia-ejecucion

        mientras no-orientado-al-norte hacer
           gira-izquierda;
        mientras frente-libre hacer
           avanza;
        mientras no-orientado-al-oeste hacer
           gira-izquierda;
        mientras frente-libre hacer
           avanza;
        mientras no-orientado-al-sur hacer
           gira-izquierda;

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

           gira-izquierda;
           mitad(0);


        apagate;
    termina-ejecucion
finalizar-programa
