Inicio o ano de 2007 com essa curiosidade, com a qual me deparei no site Matemática? Absolutamente!, batizada por seu autor de Quadros Adivinhos. Talvez uma velha conhecida de muita gente, mas ideal para o propósito estabelecido por mim de publicar um post mais ameno, e penso, interessante, para começar “devagarzinho” (ou é “devagarinho”?) o novo ano. Como no processo bafejado aos ventos, comumente denominado de “esquentar as turbinas”.
A página em questão, desenvolvida com a ferramenta Flash (não conheço “bulhufas” da danadinha), fornece uma explicação sobre a montagem dos 8 quadros utilizados para adivinhar um número, pensado por você, entre 0 e 250, e de como estender o limite máximo de escolha para 511 e 1023.
O princípio da montagem dos quadros (ou tabelas) se baseia no fato de que todo número natural pode ser escrito como a soma de potências de base 2, como dito por lá – no site, claro! Ou em outras palavras, na conversão de números naturais – base decimal – para base 2 ou binária.
A adivinhação consiste em responder, passo-a-passo, se o número está ou não em cada uma das 8 tabelas apresentadas, e após a última é exibido o resultado, ou seja, o número pensado por você. Se as respostas fornecidas forem lúcidas, honestas e corretas não tem falha, a nota é 10 sempre (bingo!).
Você, na altura do campeonato, deve estar se perguntando: se a “coisa” está lá feita e em funcionamento, o que “este cara” quer? Quero apresentar o mesmo experimento só que com a rotina desenvolvida em JavaScript e com os três intervalos acima mencionados (0 a 255, 0 a 511 e 0 a 1023) para a escolha do número pensado por você.
Certamente deve ser o mesmo utilizado no Matemática? Absolutamente!. Mas como não da para saber, vamos lá! Consideraremos o primeiro intervalo, uma vez que para os demais a construção é feita por pura e genuína generalização deste, para as devidas explicações.
Passo 1 – Como é notório e sabido por todos, o número natural 255 é igual a 11111111 (oito Carolinas, lembra da música, “encarrilhados”) em binário ou base 2. Ou seja:
(11111111)2 = (255)10 = 27 + 26 + 25 + 24 + 23 + 22 + 21 + 20 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
Passo 2 – O fato nos sugere que as oito tabelas necessárias, no caso do intervalo considerado, iniciem com uma das potências de 2. Isto é, a primeira com o número 1, a segunda com o 2, a terceira com o 4, e assim sucessivamente até cessar, a oito com o 128.
Passo 3 – Os demais números que compõem cada uma das 8 tabelas, exibidos em ordem crescente, são determinados a partir da sua representação binária da seguinte forma: se a primeira posição, da direita para a esquerda, é igual a 1 ele é exibido na primeira tabela, se a segunda posição, na mesma ordem é 1, ele será exibido na segunda, e assim por diante. Por exemplo, o número 255 será mostrado nas oito tabelas e o número 15, cuja representação binária é 00001111, será exibido nas quatro primeiras tabelas e não nas restantes (os zeros à esquerda é só para facilitar o entendimento, viu!).
Passo 4 – Como você é bastante esperto, já percebeu como o resultado é obtido: é suficiente somar (cumulativamente, claro), a cada resposta “sim” a primeira posição da tabela, que nada mais é do que uma potência de 2. Mais uma vez uns exemplos para clarear as idéias:
Não precisava, mais eu vou dizer, que para os outros dois intervalos é só acrescentar as potências de graus 9 e 10 de 2, respectivamente, e seguir os passos 1 a 4 com os devidos ajustes.
Não vou dissertar sobre o código – avisei no começo – mas se você quiser ver e analisar dentro da ótica do aprendizado (meu caso, ao desenvolver) mais do que a da utilidade, ela se encontra “embutida” na página do experimento. Ou então, como “canja” de início de ano, clique aqui (péssimo isto, não?) para exibí-la.
E, para encerrar, mais uma vez, desejo a todos muita paz, muito amor, muitas realizações, …, e muito Viche em 2007. Axé!
Related posts brought to you by Yet Another Related Posts Plugin.
Imprima este artigo | Envie este artigo para um(a) amigo(a) | 9.109 views
gostei muito desta tabela achei enteressante
Não entendi patavina,mas achei muito intesserante.um abraço!
cara.. isso se chama busca binaria…
e eh um dos metodos de buscas mais usado qdo os valores buscados estao ordenados…
:D