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

Rodolfo Rodrigues

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Rodolfo Rodrigues: Atlético-MG dificilmente baterá recordes do Fla de 2019

Jogadores do Atlético-MG comemoram gol de Guilherme Arana contra o Fortaleza na Copa do Brasil - Fernando Moreno/AGIF
Jogadores do Atlético-MG comemoram gol de Guilherme Arana contra o Fortaleza na Copa do Brasil Imagem: Fernando Moreno/AGIF

Colunista do UOL

23/10/2021 04h00

Líder disparado do Brasileirão e com um jogo a menos, o Atlético-MG do técnico Cuca é o grande favorito ao título do Brasileirão 2021. Com 56 pontos em 26 jogos, o Galo tem a 5ª melhor campanha até esta altura do campeonato na era dos pontos corridos. Mas, dificilmente, conseguirá quebrar os recordes do Flamengo de 2019 desde 2006, quando a competição ou a ser disputada por 20 clubes.

Com 12 jogos restantes (36 pontos em disputa), o Atlético precisaria vencer todas as partidas para superar a pontuação do Fla de Jorge Jesus de 2019. Naquele ano, o Rubro-Negro fez 90 pontos —o Galo, com 12 vitórias em 12 jogos, chegaria a 92 pontos. Em número de vitórias, o Atlético, muito provavelmente, também não alcançará o recorde do Flamengo (28 vitórias). Hoje, o Galo tem 17 e precisaria ganhar todos os 12 jogos restantes.

Em número de derrotas, o Atlético de 2021 ainda pode igualar o Flamengo de 2019 e outros dois clubes (Palmeiras de 2018 e São Paulo de 2006), que só perderam 4 jogos nas 38 rodadas. Para isso, o Galo teria que não perder mais até a última rodada. Já em número de gols feitos, o Atlético também está longe de bater o recorde do Fla de 2019. Hoje, em 26 jogos, o Galo tem 42 gols. Para alcançar os 86 do Flamengo, precisaria de mais 44 gols em 12 jogos (média de 3,67 contra sua atual de 1,61 por partida).

Outro recorde que já não dá mais para o Atlético de Cuca quebrar é o de invencibilidade. Apesar de ter ficado 18 rodadas sem derrota, um número bem alto, o time mineiro não conseguiu chegar à marca dos 25 do Flamengo de 2019. Outro recorde alcançado pelo Rubro-Negro naquele ano foi o de maior saldo de gols (49). Hoje, o Galo tem um saldo positivo de 23 e precisaria de mais 27 de saldo em 12 jogos. Bem difícil.

Com 19 gols sofridos em 26 jogos, o Atlético Mineiro de 2021 tem uma das melhores defesas até a 26ª rodada. Mas para bater o recorde de defasa menos vazada, teria de ficar seus próximos 12 jogos sem levar gol para igualar o São Paulo de 2007, que sofreu apenas 19 gols em 38 rodadas.

Até aqui, nessa boa campanha de 2021, o Atlético quebrou um recorde, que foi o de vitórias seguidas. Entre a 8ª a 16ª rodada, o Galo ganhou 9 jogos seguidos, igualando o recorde do Internacional de 2020, que também conseguiu 27 pontos em 9 jogos consecutivos.

Outros recordes do Flamengo de 2019 foram melhor aproveitamento como mandante (93%), o maior número de vitórias em casa (17) e o menor número de derrotas como mandante (nenhuma, ao lado do Grêmio de 2009 e do Atlético-MG de 2012).

Em 2021, o Galo perdeu apenas um jogo em casa (na 1ª rodada, para o Fortaleza), e tem um dos melhores aproveitamentos como mandante na história dos pontos corridos (86%). Caso ganhe seus 7 jogos restantes em casa, o Atlético-MG chegará a 90,2% de aproveitamento como mandante (17 vitórias em 19 jogos).

Para o torcedor do Galo, esses recordes pouco vão importar, já que o time vive um jejum de 50 anos sem o título nacional —foi campeão pela primeira e única vez do Brasileirão em 1971. Mas com a grande campanha que vem fazendo, esse time tem tudo para levantar o caneco com números impressionantes e próximos dos recordes do Flamengo de 2019.

Você pode me encontrar também no twitter (@rodolfo1975) ou no Instagram (futebol_em_numeros)