iniciar-programa
define-nueva-instruccion g-d como inicio
repetir 3 veces
 gira-izquierda;
fin;
define-nueva-instruccion m-v como inicio
repetir 2 veces
 gira-izquierda;
fin;
define-nueva-instruccion linea como inicio
m-v;
mientras frente-libre hacer
 avanza;
g-d;
avanza;
g-d;
fin;
define-nueva-instruccion regresa como inicio
mientras frente-libre hacer
 avanza;
gira-izquierda;
mientras frente-libre hacer
 avanza;
fin;
define-nueva-instruccion piramide como
inicio
 si no(frente-libre y derecha-bloqueada y orientado-al-oeste) entonces
  inicio
   si junto-a-zumbador entonces
    inicio
     coge-zumbador;
     si frente-libre entonces
      avanza
     sino
      inicio
       si izquierda-libre entonces
        linea
       sino
        m-v;
      fin;
     piramide;
     deja-zumbador;
    fin
    sino
     inicio
      si frente-libre entonces
       avanza
      sino
       inicio
        si izquierda-libre entonces
         linea
        sino
         m-v; 
        fin;
      piramide;
     fin;
  fin
  sino
   inicio
    regresa;
    gira-izquierda;
    mientras junto-a-zumbador hacer
     avanza;
   fin;
fin;


    inicia-ejecucion
repetir 2 veces
 avanza;
g-d;
piramide;
mientras frente-libre hacer
 inicio
  m-v;
  mientras frente-libre hacer
   avanza;
  g-d;
  avanza;
  avanza;
  g-d;
  piramide;
 fin;


        apagate;
    termina-ejecucion
finalizar-programa
