iniciar-programa
define-nueva-instruccion mv como
inicio
repetir 2 veces gira-izquierda;
fin;

define-nueva-instruccion gd como
inicio
repetir 3 veces gira-izquierda;
fin;

define-nueva-instruccion piramide(n) como
inicio
si algun-zumbador-en-la-mochila entonces
inicio
repetir n veces
inicio
si no-junto-a-zumbador entonces deja-zumbador;
avanza;
si no-junto-a-zumbador entonces deja-zumbador;
gira-izquierda;
avanza;
gira-izquierda;
avanza; avanza;
mv;
fin;
avanza;
si no-junto-a-zumbador entonces deja-zumbador;
gd;
mientras frente-libre hacer avanza;
gira-izquierda;
repetir n veces avanza;
avanza;
piramide(sucede(n));
fin;
fin;

define-nueva-instruccion mide como
inicio
si junto-a-zumbador entonces
inicio
repetir 2 veces avanza;
mide;
avanza;
fin
sino
inicio
mv;
fin;
fin;

    inicia-ejecucion
    mientras no-orientado-al-este hacer gira-izquierda;
    si algun-zumbador-en-la-mochila y no-junto-a-zumbador entonces deja-zumbador;
    si frente-libre entonces avanza;
    piramide(1);
    mv;
   mientras frente-libre hacer  avanza;
   mv;
   mide;
  si frente-libre entonces avanza;
  gd;
  mientras junto-a-zumbador y frente-libre hacer avanza;
  si frente-libre entonces
  inicio
  mv;
  avanza;
  mv;
  fin;

        apagate;
    termina-ejecucion
finalizar-programa
