Muito sobre Matemática e nem tanto sobre CSS, PHP, AJAX, Javascript, Wordpress e outros assuntos

5
jan

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ê.

O Algorítimo Utilizado

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:

  • Se você pensou no 255, terá que necessariamente responder “sim” para as oito tabelas, o que equivale à soma acima apresentada;
  • No outro extremo, se o número escolhido foi o zero, todas as respostas são “não”, e portanto o resultado será igual ao valor inicial atribuído, que é zero que eu não sou “besta” :-);
  • E, finalmente, se o número escolhido é o 20 (dia do meu aniversário), cuja representação binária é 00010100, ele aparecerá somente nas tabelas 3 e 5, cujos primeiros números são, respectivamente, 4 e 16.

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.

A Rotina JavaScript

  • Inicialmente é exibida uma caixa de seleção, onde você deve escolher o intervalo do número a ser pensado;
  • Feito isto, é exibida a primeira tabela, composta de todos os números ímpares dentro do intervalo selecionado (preciso explicar?), com a fatídica pergunta: “O número que você pensou encontra-se na tabela 1?”, seguida das respostas “Sim” ou “Não” com um link cada que, como eu disse, você deve clicar com a mais pura e sagrada honestidade;
  • E o processo é repetido até a oitava (primeiro intervalo), até a nona (segundo intervalo) e até a décima (terceiro intervalo) tabela que são numeradas em vermelho para você não se perder :-), onde, não esqueçam, pelo “amor de Deus”, você deve responder clicando, mais uma vez, honestamente, no “Sim” ou no “Não”;
  • E, aí, eis que surge, fagueiro, o resultado mágico, mas esperado, você há de concordar.

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é!

Artigos Relacionados:

  1. Curiosidade Matemática #12 – Desafio dos quatro 4
  2. Curiosidade Matemática #11 – Fatos Curiosos
  3. Curiosidade Matemática #10 – Mind Reader
  4. Curiosidade Matemática #9 – Números com Três Algarismos
  5. Curiosidade Matemática #9 – 1089: O Número (dito) Mágico
  6. Curiosidade Matemática #6 – A Matemática dos Dedos
  7. Curiosidade Matemática #3 – Como Pode??

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

Categoria : Curiosidades / Javascript / Matemática / Técnico





3 Respostas para “Curiosidade Matemática #7 – Tabelas ‘Binárias’ Que Adivinham”


raynara novembro 17, 2009

gostei muito desta tabela achei enteressante

sidney março 26, 2007

Não entendi patavina,mas achei muito intesserante.um abraço!

xauzim janeiro 16, 2007

cara.. isso se chama busca binaria…
e eh um dos metodos de buscas mais usado qdo os valores buscados estao ordenados…

:D