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

Governo Bolsonaro exonera presidente do Inep, órgão responsável pelo Enem

Maria Inês Fini, presidente do Inep - Fabio Rodrigues Pozzebom - 19.out.2016/Agência Brasil
Maria Inês Fini, presidente do Inep Imagem: Fabio Rodrigues Pozzebom - 19.out.2016/Agência Brasil

Bernardo Barbosa e Leandro Prazeres

Do UOL, em São Paulo e Brasília

14/01/2019 16h07Atualizada em 16/01/2019 15h58

O governo do presidente Jair Bolsonaro (PSL) exonerou nesta segunda-feira (14) a presidente do Inep (Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira), Maria Inês Fini, e três diretoras do órgão. O Inep é ligado ao MEC (Ministério da Educação) e responsável pelo Enem (Exame Nacional do Ensino Médio), prova cuja edição do ano ado foi criticada abertamente pelo então candidato à Presidência. 

As exonerações foram publicadas na edição de hoje do Diário Oficial da União. Além de Fini, deixam o Inep a diretora de estudos educacionais, Alvana Maria Bof; a diretora de gestão e planejamento, Eunice de Oliveira Ferreira Santos; e a diretora de avaliação da educação básica, Luana Bergmann Soares.

Maria Inês Fini foi uma das autoras do projeto original do Enem, desenvolvido para avaliar a qualidade de aprendizado dos estudantes que terminam o ensino médio. O exame começou a ser aplicado em 1998.

O novo presidente do Inep será o engenheiro Marcus Vinicius Rodrigues, professor da FGV (Fundação Getúlio Vargas) em São Paulo.

A diretoria de avaliação da educação básica, que cuida do Enem, ficará a cargo de Murilo Resende, doutor em economia também pela FGV. Professor universitário em Goiás desde 2015, Resende já foi aluno do curso online do escritor Olavo de Carvalho, apontado como guru da direita e responsável pela indicação de Ricardo Vélez Rodríguez ao cargo de ministro da Educação.

Crítica ao Enem

A mudança no comando do órgão vem depois de Bolsonaro ter criticado o Enem do ano ado por ter trazido uma pergunta que citava o "dialeto secreto" de gays e travestis. Segundo o presidente, a questão não media "conhecimento nenhum"

O Enem 2018 trazia um texto sobre o "pajubá, o dialeto secreto dos gays e travestis" e questionava o candidato quanto aos motivos que faziam a linguagem se caracterizar como "elemento de patrimônio linguístico". Na época da prova, em novembro, o Inep não quis comentar as críticas de Bolsonaro.

Durante a transição de governo, Bolsonaro descartou publicamente o nome de Maria Inês Fini para comandar o MEC, citando o Enem como motivo. "Essa não esteve à frente do Enem? Está fora, cartão vermelho", afirmou.

No começo de dezembro, em entrevista ao UOL, Fini classificou o episódio como um "verdadeiro absurdo", e relatou que amigos e familiares foram ofendidos via redes sociais após as críticas de Bolsonaro.

"É não compreender a natureza da prova e não entender que pedir para o jovem que ele identifique as características de um dialeto como uma identidade linguística de um pequeno grupo e, sem querer, foi o grupo LGBTI, não vai fazer ninguém virar homossexual", disse.