;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Teste de avião novo tem maratona de 5 dias que desliga até motor nos voos

Armando Pereira Filho

Do UOL, em Seattle (EUA)

08/05/2014 06h00Atualizada em 08/05/2014 13h02

A compra de um avião "zero-quilômetro" é bem diferente da de um carro normal feito em linha de montagem. Os aviões não ficam prontos para venda imediata e são construídos sob encomenda, com anos de antecedência (carros de luxo também podem ser personalizados e encomendados na fábrica, mas são exceção na indústria automobilística).

O UOL acompanhou os últimos os da entrega de um Boeing 737-800, comprado pela companhia aérea brasileira Gol. Entre os testes realizados antes da entrega final, um motor é desligado de cada vez durante um voo experimental para checagem dos instrumentos.

O modelo retirado no mês ado faz parte de um lote encomendado pela Gol em 2008.

A fábrica da Boeing em Renton (região metropolitana de Seattle, EUA), onde são montados os modelos 737, recebe os vários pedidos de empresas ao redor do mundo, e vai encaixando em seu cronograma.

Aviões naturalmente exigem tempo para serem construídos e não há aparelhos para pronta entrega. A fábrica consegue fazer no máximo 42 aeronaves por mês.

Pilotos conferem desempenho em testes de voo

Depois de montados, são feitos testes de voo antes que a Boeing entregue o avião. O último deles é chamado de teste do cliente, em que pilotos da companhia aérea (ou da própria Boeing, autorizados pela empresa compradora) conferem o desempenho final.

É nesse teste em que um motor é desligado de cada vez durante o voo. O avião fica sem sistema hidráulico, para manobras só com cabos, no braço, sem ajuda dos sistemas, para o piloto ver se é possível controlar tudo sem o auxílio extra.

É como se um carro ficasse sem a direção hidráulica, muito mais duro de controlar.

A equipe que participa desse teste do cliente é formada em geral pelos pilotos (dois comandantes e um primeiro oficial) e por um grupo técnico com quatro integrantes: um engenheiro especialista em navegabilidade, representante da Anac (Agência Nacional de Aviação Civil); um engenheiro que representa a empresa para receber o avião; um técnico de planejamento, que a os dados para o sistema da empresa; e um técnico ou engenheiro como inspetor-chefe.

Esse inspetor é responsável por fazer uma conferência geral: vê documentos, danos físicos, vazamentos, reparos estruturais, seguindo uma lista de checagem da Anac. Esse teste final dura no total cinco dias. Se houver qualquer problema, ajustes são feitos pela Boeing.

Avião já sai da fábrica pintado com cores da empresa

Depois de aprovado, o avião a oficialmente para a empresa que o encomendou. A equipe de teste o leva diretamente da fábrica para o seu destino no Brasil. O avião já sai de fábrica pintado com as cores da companhia aérea.

No caso do avião da Gol, saiu direto da pista de testes da Boeing, sem ar por nenhum aeroporto americano. Seu destino era o centro de manutenção da Gol em Belo Horizonte (MG), onde a empresa fez adaptações de assentos.

Como o 737-800 não tem autonomia para voar direto dos EUA ao Brasil, então teve de parar em Caracas (Venezuela) para reabastecer.

Na entrega de um avião novo, um representante da aduana americana vai a bordo, na pista da Boeing, para verificar documentos de ageiros e saída de bagagens, já que a aeronave sai sem ar pelos controles normais de aeroportos.

No voo inaugural de entrega, o avião vai vazio, só com os técnicos. Não há transporte de ageiros nessa viagem inicial.

Um avião não usa milhas, muito menos quilômetros, para medir seu uso. Isso é feito pelo tempo de voo. Segundo a Gol, um Boeing é usado em média por 42 mil horas, o que dá cerca de 12 anos no caso da empresa, considerando 3.500 horas de uso por ano. O Boeing que a Gol foi buscar em Renton tinha sete horas de voo quando foi entregue formalmente à empresa.

(O jornalista viajou a convite da Gol e da Boeing)