iniciar-programa
  define-nueva-instruccion norte como inicio
      mientras no orientado-al-norte 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 oeste como inicio
      mientras no orientado-al-oeste hacer inicio
          gira-izquierda;
      fin;
  fin;
  define-nueva-instruccion tomalos como inicio
      si junto-a-zumbador entonces inicio
          coge-zumbador;
          si no-junto-a-zumbador entonces inicio
              si frente-libre entonces avanza;
              tomalos;
              norte;
              avanza;
          fin sino inicio
              coge-zumbador;
              si no-junto-a-zumbador entonces inicio
                  si frente-libre entonces avanza;
                  tomalos;
                  este;
                  avanza;
              fin sino inicio
                  coge-zumbador;
                  si no-junto-a-zumbador entonces inicio
                      si frente-libre entonces avanza;
                      tomalos;
                      sur;
                      avanza;
                  fin sino inicio
                      coge-zumbador;
                      si frente-libre entonces avanza;
                      tomalos;
                      oeste;
                      avanza;
                  fin;
              fin;
          fin;
      fin;
  fin;
  define-nueva-instruccion comienzo como inicio
      mientras frente-libre y junto-a-zumbador hacer inicio
          avanza;
      fin;
      si no-junto-a-zumbador entonces inicio
          oeste;
          si frente-libre entonces avanza;
      fin sino inicio
          oeste;
      fin;
  fin;
    inicia-ejecucion
        comienzo;
        tomalos;
        apagate;
    termina-ejecucion
finalizar-programa
