iniciar-programa

define-nueva-instruccion revez(n) como inicio
    repetir n veces inicio
        deja-zumbador;

        si frente-libre entonces inicio
            avanza;
        fin;
    fin;

    gira-izquierda;
    gira-izquierda;

    repetir n veces  inicio
        si frente-libre entonces inicio
            avanza;
        fin;
    fin;

            gira-izquierda;
        si frente-libre entonces inicio
            avanza;
        fin;

            gira-izquierda;
        si algun-zumbador-en-la-mochila entonces inicio
            revez(precede(n));
        fin;
fin;


define-nueva-instruccion piramide(n) como inicio

    repetir n veces inicio
        deja-zumbador;
    fin;

        si algun-zumbador-en-la-mochila entonces inicio
            piramide(sucede(n))
        fin

        sino inicio
            mientras junto-a-zumbador hacer
            coge-zumbador;

            revez(n);
        fin;
fin;

inicia-ejecucion

si algun-zumbador-en-la-mochila entonces
piramide(1);

apagate;
termina-ejecucion
finalizar-programa
