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

Ensino médio

Inglês - Playing with logic

Snail = Caracol - Patrick Pleul/AFP
Snail = Caracol Imagem: Patrick Pleul/AFP

Rozeli Alves

Playing with logic

Atualizado em 06/12/2013, às 15h44

Objetivo geral

Resolver uma questão de lógica, em inglês.

Objetivos específicos

Compreender texto e elaborar resposta para uma questão de lógica, em inglês.

Conteúdo

Ampliação de vocabulário; emprego de how long.

Procedimentos

1. Pergunte aos alunos se já observaram como um caracol se desloca de um lugar para outro.

2. Pergunte também se já notaram o que acontece quando o caracol resolve subir numa parede bem lisa.

3. Muitos deverão se lembrar da lentidão, de que é um animalzinho pegajoso e escorregadio, que se recolhe à concha que tem em si  para se proteger etc.

4.Para ilustrar, mostre um cartaz com um caracol.

5.Chame a atenção para o nome em inglês: snail.

6.Mostre também outra ilustração: um poço.

7.Chame a atenção para o nome em inglês: well.

8.Pergunte aos alunos se conhecem outro significado em português para a palavra well.

9.Com exemplos, mostre a diferença.

10. Ainda usando a ilustração, mostre the bottom of the well. Explique também: to get out /to get in (into).

11. Com suas palavras, conte o que está acontecendo com o snail. Sem apresentar a pergunta.

12. Em seguida, mostre o texto em inglês (ver abaixo) e peça para que, em duplas, descubram o que se quer saber: qual é a questão?

13. É provável que, por já conhecerem o problema, a questão seja anunciada rapidamente.

14.Retome o texto, fazendo uma leitura expressiva.

15. Assegure-se de que os alunos compreenderam o texto como um todo.

16. Faça perguntas wh - who wants to get out of the well? - where is the snail? What happens each day? What happens at night? How deep is the well?

17. Chame a atenção para o significado de feet e peça que pesquisem a quantos centímetros corresponde 1 foot.

18. Pesquisa interessante também é sobre a origem da medida ft = foot = 30,48 cm.

19. Peça para que observem a questão do problema: how long will it take him to get out? How many days?

20. Proponha questões orais à turma, para praticar: how long will it take you to solve this problem? How long will it take her to get home? How long will it take him to have lunch? How long will it take us to finish the class?

21. A seguir, peça que as duplas resolvam o problema, elaborando a resposta em inglês.

22. Circule pelas duplas para acompanhar o exercício.

23. Depois, peça que cada dupla leia sua resposta. O correto é: 28 days.

Texto e resposta

A snail is at the bottom of a well and wants to get out. He manages to crawl up the wall 3 feet each day, but at night he must rest (after all that work during the day) and so he slips back down 2 feet. If the well is 30 feet deep, how long will take him to get out?

 

Answer: (only for the teacher!)  

28 days, because the snail averages 1 foot each day. On the 28 tth day, he crawls up 3 feet during the day and finally he can be out of the well. He no longer slips back 2 feet...

Texto adaptado de Logic Questions at Just Riddles and More...!

Veja errata.

Ensino médio