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

Larvas - Metamorfose é processo característico de muitos animais

Maria Sílvia Abrão, Especial para a Página 3 Pedagogia & Comunicação

Olhe para você. Você sempre foi assim como é hoje?

Vamos pensar em um homem com oitenta anos de idade. Ele foi sempre como se apresenta hoje? Este homem já foi um bebê, uma criança, um adolescente, um adulto jovem, um adulto e se tornou um senhor, um homem velho. Mas, a estrutura básica de seu corpo sempre foi a mesma (cabeça, tronco e membros). Será que isso acontece com todos os animais?

No caso de uma borboleta, será que ela sempre foi daquele jeito que nós vemos? Você já viu uma taturana?

Aparentemente, taturanas, borboletas e mariposas são animais muito diferentes. As taturanas comem muito e rastejam. As borboletas e as mariposas voam. As primeiras se alimentam do néctar das flores, enquanto muitas mariposas nem sequer se alimentam (sabia?).

 

Metamorfose

Se capturarmos uma taturana (lagarta) e montarmos um vivário, cuidando dele corretamente (alimentando a taturana com folhas da árvore em que foi encontrada, limpando o local com frequência e deixando pequenos gravetos disponíveis para ela) presenciaremos uma grande transformação. Chegada uma determinada época, depois de ter crescido e comido muito, a taturana (lagarta) se recolherá, em um casulo (invólucro "feito de fios") e ocorrerá uma metamorfose.

A lagarta deixa de ser lagarta, sua forma e sua estrutura mudam. Seu corpo a a funcionar de um outro modo. Na verdade ocorre a transformação de um ser em outro, a lagarta "vira" uma borboleta.

Dizemos que a lagarta é a fase larval (a criança) das borboletas e mariposas. Mas não são apenas as borboletas ou as mariposas que têm em seu ciclo de vida "corpos" tão diferentes, sendo o jovem uma lagarta comilona e o adulto um belo ser alado.

 

Larvas de outras espécies

As abelhas também possuem larvas que vivem nas colmeias. Os anfíbios - algumas salamandras, os sapos e as rãs - colocam na água seus ovos, dos quais também sai uma larva. No caso das salamandras assemelham-se às formas adultas de um modo geral. Mas as larvas de sapos e rãs são os conhecidos girinos.

Camarões, carrapatos, águas vivas, estrela-do-mar, lombrigas (aquele parasita dos intestinos humanos), cochas (os caramujos), possuem formas distintas nos seus ciclos de vida. Esses e muitos outros animais possuem fases larvais.

Você já encontrou uma goiaba com bicho? Pois é, o bicho da goiaba é a fase larval da mosca-da-fruta. Então, aquelas larvas brancas que, às vezes, podemos ver no lixo, são larvas de mosca. Você já ouviu fala em bernes? Eles também são larvas de mosca que se abrigam e se alimentam da pele de alguns animais, inclusive do homem.

 

Ninfa, a forma intermediária

Mas, não é apenas a fase larval que diferencia o ciclo de vida dos animais. Nos insetos e em alguns aracnídeos (carrapatos) há uma outra fase, conhecida como ninfa. Essa é a forma intermediária entre a larva e o inseto adulto (o adolescente). Em alguns casos, como o das baratas e gafanhotos, o inseto se desenvolve até a fase de ninfa dentro do "ovo".

Assim, as baratas e gafanhotos sem asas que vemos por aí são insetos jovens. Esses já têm "cara" de baratinhas e gafanhotos, apesar de ainda arem por fases de crescimento até tornarem-se adultos com asas completas.