iniciar-programa
define-nueva-instruccion ega como
inicio
        si frente-libre entonces
        inicio
               avanza;
               ega;
               avanza;
        fin
        sino
        inicio
                repetir 3 veces
                gira-izquierda;
                mientras izquierda-bloqueada hacer
                    avanza;
                gira-izquierda;
                avanza;
                gira-izquierda;
                mientras frente-libre hacer avanza;
                repetir 3 veces
                gira-izquierda;
                mientras frente-libre hacer avanza;
                repetir 2 veces
                    gira-izquierda;
        fin;
fin;
define-nueva-instruccion llega como
inicio
        si frente-libre entonces
        inicio
               avanza;
               llega;
               avanza;
        fin
        sino
        inicio
                repetir 2 veces
                    gira-izquierda;
                mientras frente-libre hacer avanza;
                gira-izquierda;
                mientras derecha-bloqueada hacer
                    avanza;
                repetir 3 veces    gira-izquierda;
                avanza;
                repetir 3 veces    gira-izquierda;
                mientras frente-libre hacer avanza;
                gira-izquierda;
        fin;
fin;
define-nueva-instruccion pasa(x) como
inicio
        si junto-a-zumbador entonces
        inicio
            coge-zumbador;
            pasa(sucede(x));
        fin
        sino
        inicio
            repetir 2 veces
                gira-izquierda;
            llega;
            repetir x veces deja-zumbador;
            repetir 2 veces
            gira-izquierda;
            ega;
        fin;
fin;
    inicia-ejecucion
    mientras no orientado-al-este hacer gira-izquierda;
        mientras frente-libre o junto-a-zumbador hacer
        inicio
            si junto-a-zumbador entonces
            pasa(0);
            si frente-libre entonces
            avanza;
        fin;
        apagate;
    termina-ejecucion
finalizar-programa
