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

Sob escolta militar, primeiras provas do Enem são levadas para Bahia e Pará

Policiais militares escoltam caminhão dos Correios com as provas do Enem - Damião Produções/Divulgação
Policiais militares escoltam caminhão dos Correios com as provas do Enem Imagem: Damião Produções/Divulgação

Ana Carla Bermúdez

Do UOL, em São Paulo

04/10/2019 10h21Atualizada em 08/10/2019 16h50

A um mês da aplicação do Enem (Exame Nacional do Ensino Médio) 2019, começou ontem a operação logística para distribuição das 10,2 milhões de provas do exame por todo o país. As provas serão realizadas nos dias 3 e 10 de novembro. Neste ano, foram 5,1 milhões de inscritos.

Os primeiros malotes com as provas do exame, contendo 408 mil impressões, saíram ontem do 4º Batalhão de Infantaria Leve do Exército, em Osasco (Grande São Paulo), em direção a municípios da Bahia e do Pará. Os malotes foram levados em caminhões dos Correios, sob escolta da PM (Polícia Militar). Para chegar ao destino, as provas são transportadas por rota terrestre e aérea.

O processo de impressão dos cadernos de prova, feito neste ano pela gráfica Valid/SA, também foi acompanhado pela PM. O forte esquema de segurança é realizado para evitar fraudes e vazamentos da prova.

Em 2009, um vazamento de cadernos de prova do Enem fez com que o MEC (Ministério da Educação) alterasse a data de aplicação do exame. Desde então, uma série de medidas de segurança vem sendo fortalecidas para evitar que o problema se repita.

Todas as provas do Enem 2019 já estão impressas, segundo o Inep (Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira), órgão responsável pelo exame.

Durante a saída dos primeiros malotes, foi realizada uma reunião com representantes da gráfica Valid, da Fundação Cesgranrio, responsável pela aplicação do exame, da Polícia Federal, dos Correios e da secretaria de operações integradas do ministério da Justiça e Segurança Pública.

Primeiros malotes do Enem são transferidos para locais de aplicação do exame - Damião Produções/Divulgação - Damião Produções/Divulgação
Primeiros malotes do Enem são transferidos para locais de aplicação do exame
Imagem: Damião Produções/Divulgação

Diretor de gestão de planejamento do Inep, Murillo Gameiro classificou a logística do Enem como uma "verdadeira operação de guerra".

"Sem a participação de todos os parceiros não seria possível. Estamos trabalhando para que o sucesso seja antes, na entrega das provas, até o final, quando realizamos a divulgação dos resultados", disse.

"O Enem envolve o país inteiro, é um projeto nacional. São milhares de participantes que contam com a gente, que esperam uma boa prova, um bom ambiente para aplicarmos essas provas com segurança", afirmou o presidente do Inep, Alexandre Lopes.