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

Presidiário de 25 anos ganha medalha de bronze na Olimpíada da Matemática

Diego Henrique da Silva Alves, preso em Formiga (MG), recebeu medalha de bronze - Divulgação
Diego Henrique da Silva Alves, preso em Formiga (MG), recebeu medalha de bronze Imagem: Divulgação

Carlos Eduardo Cherem

Colaboração para o UOL, em Belo Horizonte

25/08/2016 06h00

Cumprindo pena na Penitenciária de Formiga (MG), Diego Henrique da Silva Alves, 25, recebeu nessa terça-feira (23) da direção do presídio medalha de bronze e certificado  pela participação na última edição da Obmep (Olimpíada de Matemática das Escolas Públicas), realizada em 2015. A premiação garantiu ao jovem uma vaga para a segunda etapa da Obmep, que tem início no próximo dia 16.

“Agora, depois de ter de estudar muito para rever as coisas que tinha aprendido e esqueci, só penso em aprender mais”, afirmou Alves, por e-mail, por meio da assessoria de imprensa da Secretaria de Defesa Social de Minas Gerais, responsável pela istração dos presídios no Estado.

O jovem explicou que, no começo de 2015, cumprindo a pena, entendeu que “não podia perder mais tempo na vida”: matriculou-se na Escola Estadual Professora Maria Aparecida de Rezende, que funciona dentro da unidade prisional, e tornou-se um aluno assíduo e dedicado. Após 12 meses de estudos, veio a premiação.

Alves havia abandonado os estudos na adolescência, no 7º período do ensino fundamental, quando começou a praticar crimes. Preso e condenado, ele voltou a estudar somente após estar cumprindo pena. “Eu me descuidei dos estudos, embora sempre tenha tido um desempenho razoável”, diz Alves.

Ele lembra que as notas 9,9 em matemática, que recebia dos professores no período em que cursava o fundamental, antes de ser preso, “voltou a fazer sentido” para ele, com a premiação da medalha de bronze. “Estou muito feliz e, agora, só que aprender mais”, afirmou.

Alves terá a remissão -- uma espécie de desconto --, na pena que terá de cumprir, na proporção de um dia descontado da condenação a cada 12 horas de estudos.

Questionada sobre o crime e a pena de Alves, a Secretaria de Defesa Social de Minas Gerais disse que não informa o crime e o tempo de condenação dos presos. Procurada pelo UOL, a Vara de Execuções de Formiga também não forneceu essas informações até a publicação desta matéria.