;(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

Economia mantém trajetória de recuperação lenta, diz FGV

Daniela Amorim

Rio

20/08/2018 14h59

Apesar dos prejuízos provocados pela greve de caminheiros, que bloqueou estradas de todo o País por 11 dias em maio, os resultados do Produto Interno Bruto (PIB) brasileiro do segundo trimestre mostram que a economia mantém a trajetória de recuperação lenta, segundo a Fundação Getulio Vargas (FGV).

O Monitor do PIB, apurado pela FGV, estima que a atividade econômica cresceu 0,3% no segundo trimestre em relação ao primeiro trimestre do ano.

"Os números não estão mostrando desaceleração, mostram crescimento. O PIB cresceu 0,1% no quarto trimestre de 2017. Depois, 0,2% no primeiro trimestre de 2018, agora 0,3%. É um crescimento lento, não foi interrompido. A greve realmente atrapalhou muito, mas alguma coisa foi devolvida em junho", avaliou Claudio Considera, coordenador do Monitor do PIB no Instituto Brasileiro de Economia da FGV (Ibre/FGV).

O PIB avançou 3,3% em junho ante maio, calculou a FGV. Na comparação com junho do ano ado, a atividade econômica teve elevação de 2,4% no mês de junho deste ano. Na comparação com o segundo trimestre de 2017, a economia cresceu 1,2% no segundo trimestre de 2018.

O indicador da FGV antecipa a tendência do principal índice da economia a partir das mesmas fontes de dados e metodologia empregadas pelo Instituto Brasileiro de Geografia e Estatística (IBGE), responsável pelo cálculo oficial das Contas Nacionais.

De acordo com o Monitor do PIB, na agem do primeiro para o segundo trimestre, o PIB Agropecuário aumentou 0,7%, enquanto a Indústria encolheu 0,9%. Já os Serviços avançaram 0,4%.

Pela ótica da demanda, o Consumo das Famílias apresentou crescimento de 0,2%, e o Consumo do Governo registrou expansão de 1,0%.

A Formação Bruta de Capital Fixo (FBCF, medida dos investimentos no PIB) caiu 1,5% no segundo trimestre em relação ao primeiro trimestre do ano. As exportações diminuíram 5,4% no segundo trimestre de 2018, enquanto as importações caíram 2,4% em relação ao primeiro trimestre.

"O comércio e o transporte todo mundo esperava que fossem impactados (pela greve dos caminhoneiros), mas até a indústria de transformação foi afetada. A agricultura também foi muito prejudicada", apontou Considera. "No terceiro trimestre, talvez ainda tenha resquício (do impacto da paralisação) na parte de pecuária, ovos de galinha, mas uma perda muito pequena", completou.

Em termos monetários, o PIB totalizou aproximadamente R$ 3,467 trilhões em valores correntes de janeiro a junho.