iniciar-programa
  define-nueva-instruccion norte como inicio
      mientras no-orientado-al-norte hacer inicio
          gira-izquierda;
      fin;
  fin;
  define-nueva-instruccion oeste como inicio
      mientras no-orientado-al-oeste 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 este como inicio
      mientras no-orientado-al-este hacer inicio
          gira-izquierda;
      fin;
  fin;
  define-nueva-instruccion toma(n) como inicio
      si junto-a-zumbador entonces inicio
          si no si-es-cero (n) entonces inicio
              si junto-a-zumbador entonces inicio
                  coge-zumbador;
                  toma(precede(n));
                  deja-zumbador;
              fin;
          fin sino inicio
                  si orientado-al-sur entonces inicio
                      norte;
                      avanza;
                  fin;

          fin;
      fin sino inicio
          si orientado-al-este entonces inicio
              sur;
              avanza;
              toma(n);
          fin sino inicio
              si orientado-al-sur entonces inicio
                  norte;
                  avanza;
              fin;
          fin;
      fin;
  fin;
  define-nueva-instruccion deja(n) como inicio
      si junto-a-zumbador entonces inicio
          coge-zumbador;
          sur;
          avanza;
          avanza;
          si junto-a-zumbador entonces inicio
              coge-zumbador;
              norte;
              avanza;
              avanzA;
          fin sino inicio
              norte;
              avanza;
              si junto-a-zumbador entonces inicio
                  coge-zumbador;
              fin;
              avanza;
          fin;
          deja(n);
          deja-zumbador;
      fin;
  fin;
  define-nueva-instruccion acarrea como inicio
      si junto-a-zumbador entonces inicio
          coge-zumbador;
          acarrea;
          deja-zumbador;
      fin sino inicio
          avanza;
      fin;
  fin;
   define-nueva-instruccion capacidad(n) como inicio
      si frente-libre entonces inicio
          si junto-a-zumbador entonces inicio
              coge-zumbador;
              capacidad(sucede(n));
          fin;
          si frente-libre entonces inicio
              avanza;
              mientras frente-libre hacer inicio
                  toma(n);
                  avanza;
                  deja(n);
                  sur;
                  avanza;
                  este;
                  acarrea;
              fin;
          fin;
      fin;
  fin;
    inicia-ejecucion
        capacidad(0);
        apagate;
    termina-ejecucion
finalizar-programa
