iniciar-programa


  define-nueva-instruccion oeste como inicio
        mientras no-orientado-al-oeste hacer inicio
           gira-izquierda;
        fin;
  fin;

  define-nueva-instruccion este como inicio
        mientras no-orientado-al-este hacer inicio
           gira-izquierda;
        fin;
  fin;


  define-nueva-instruccion sur como inicio
        mientras no-orientado-al-sur hacer inicio
            gira-izquierda;
        fin;
    fin;

 define-nueva-instruccion norte como inicio
        mientras no-orientado-al-norte hacer inicio
            gira-izquierda;
        fin;
    fin;

     define-nueva-instruccion PonUno como inicio
        si no-junto-a-zumbador entonces inicio
            deja-zumbador;
         fin;
    fin;

     define-nueva-instruccion sube(n) como inicio
        repetir n veces inicio
               PonUno;
               este;
               avanza;
               PonUno;
               norte;
               avanza;
               PonUno;
        fin;
    fin;

define-nueva-instruccion ir-1-1 como inicio
      sur;
      mientras frente-libre  hacer inicio
          avanza;
      fin;
      oeste;
      mientras frente-libre  hacer inicio
         avanza;
      fin;
  fin;

define-nueva-instruccion IrCima como inicio
        ir-1-1;
        mientras junto-a-zumbador hacer inicio
            este;
            avanza;
            norte;
            avanza;
        fin;
        sur;
        avanza;
        oeste;
        avanza;

    fin;




    define-nueva-instruccion baja(n) como inicio
        repetir n veces inicio
            PonUno;
            sur;
            avanza;
            PonUno;
            este;
            avanza;
            PonUno;
        fin;

    fin;




    define-nueva-instruccion piramide (n) como inicio
        si algun-zumbador-en-la-mochila entonces inicio
            ir-1-1;
            sube(n);
            baja(n);
            piramide(sucede(n));
        fin;       
    fin;

    inicia-ejecucion
        PonUno;
        piramide(0);
        IrCima;
        apagate;
    termina-ejecucion
finalizar-programa
