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

Provas do Enem digital coincidem com datas da Unicamp e da Fuvest

Caio Rocha/Framephoto/Estadão Conteúdo
Imagem: Caio Rocha/Framephoto/Estadão Conteúdo

Ana Carla Bermúdez

Do UOL, em São Paulo

11/05/2020 17h42

As datas do Enem (Exame Nacional do Ensino Médio) digital, que será realizado em um modelo piloto pela primeira vez neste ano para 100 mil candidatos, coincidem com as provas de dois dos principais vestibulares do estado de São Paulo: a primeira fase da Unicamp (Universidade Estadual de Campinas), no dia 22 de novembro, e a primeira fase da Fuvest, que seleciona para a USP (Universidade de São Paulo), no dia 29 de novembro.

Inicialmente, as provas do Enem digital seriam realizadas em outubro. Em abril, uma decisão da Justiça determinou mudanças no cronograma do exame devido à pandemia do novo coronavírus.

O MEC (Ministério da Educação) então informou, no dia 18 daquele mês, que recorreria da decisão e manteria o Enem impresso nos dias 1º e 8 de novembro, mas que adiaria o Enem digital para 22 e 29 de novembro. A mudança nas datas foi oficializada no Diário Oficial da União no dia 22 de abril.

O calendário da Unicamp, no entanto, já era conhecido desde o dia 6 de abril, quando foram divulgadas as datas de inscrição e da primeira e segunda fases do vestibular. O cronograma da Fuvest, por outro lado, foi publicado no mesmo dia em que o MEC oficializou as mudanças no Enem digital.

Cabe ao candidato escolher, no momento da inscrição no Enem, se deseja participar da prova impressa ou do modelo digital do exame. Aqueles que optarem pelo Enem digital não poderão fazer as provas do Enem impresso, e vice-versa.

Podem se inscrever no Enem digital apenas os candidatos que já concluíram o ensino médio ou que estiverem prestes a concluí-lo.

Ao UOL, a Comvest (Comissão Permanente para os Vestibulares), responsável pelo processo seletivo da Unicamp, disse não ter sido comunicada pelo MEC sobre as novas datas do Enem digital.

Segundo a comissão, Unicamp, Fuvest, demais universidades públicas paulistas e outras universidades privadas do estado definiram anteriormente e em conjunto o calendário de vestibulares. Esse diálogo, de acordo com a Comvest, acontece todos os anos para que as datas dos vestibulares não coincidam entre si.

A Comvest disse ainda que não há previsão de que as provas da Unicamp sejam adiadas. De acordo com a comissão, caberá aos estudantes fazer a opção pelo Enem digital ou pelo vestibular da Unicamp.

O UOL procurou o MEC para saber se o ministério estava previamente ciente da coincidência das datas, se algo será feito para evitar prejuízo aos candidatos e se há previsão de que o Enem digital seja adiado novamente.

A assessoria de imprensa da pasta informou apenas que as universidades têm autonomia para definir seus calendários de vestibular e que a responsabilidade sobre o cronograma do Enem é do Inep. Procurado pela reportagem, o Inep ainda não respondeu.