sábado, 21 de setembro de 2013

Uma pequena solução para um grande problema: calcular raiz quadrada de números inteiros não-negativos

Hoje eu acordei inspirado, se é que dá para chamar preguiça de inspiração.
Quando estou "inspirado" gosto de fazer coisas fáceis no computador e não difíceis como as que costumo fazer.

Escrever artigos neste blog, além de ser divertido, costuma ser fácil, pois tratam-se de coisas que eu já domino e não preciso criar.

Vamos então ao que interessa.

Quem de vocês já não se deparou com a necessidade de calcular a raiz quadrada de um número enorme e não tinha calculadora e nem computador à mão?

Acho que talvez muitos de vocês.

Por isso, deixo aqui mais uma contribuição para este blog, visando atender àqueles que gostam de fazer as coisas à moda antiga, ou seja, no lápis e papel.

Se alguém quiser um algoritmo mais matemático e menos trabalhoso que este meu, já que acabei de inventa-lo, poderá encontra-lo no link:

http://matemagicasenumeros.blogspot.com.br/2011/02/extrair-raiz-quadrada-sem-usar.html#.Uj2rZN-5fIV

Encontrei um erro nesse algoritmo, pois quando o algoritmo manda ignorar o último algarismo do resto, após baixar o próximo grupo, na verdade isto quer dizer que se deve tomar os primeiros 3 algarismos, da esquerda para a direita, do número, pois se este contiver apenas 3 algarismos dará erro tendo, portanto, que ser tomado integralmente.

CÁLCULO DE RAIZ QUADRADA

1) Em primeiro lugar, você desenhará uma série de quadradinhos, conforme ilustrado abaixo:

 -----------------------------------------------------
|     |     |     |     |     |     |     |     |     |
|     |     |     |     |     |     |     |     |     |
 -----------------------------------------------------


2) Em segundo lugar você nomeará as três linhas do quadro de LINHA 1 e LINHA 2, os três últimos quadradinhos com as palavras RAIZ e AUX e, finalmente, os demais quadradinhos com a letra 'A' seguida de um número sequencial começando em 1, da direita para a esquerda, conforme ilustrado abaixo:

           A7    A6    A5    A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |     |     |     |     |     |     |
LINHA 2 |     |     |     |     |     |     |     |     |     |
         -----------------------------------------------------


0BSERVAÇÃO: os números que seguem as letras 'A' estão em ordem decrescente da esquerda para a direita.

3) Preencha agora cada quadradinho de A1 a A7, ou seja, da direita para a esquerda, da Linha 1, com os algarismos do número do qual você deseja extrair a raiz quadrada, escrevendo em cada quadradinho, 2 algarismos e se não houver mais, apenas 1 algarismo.  Por exemplo: suponhamos que você queira extrair a raiz quadrada do número 7654001. Nesse caso o resultado ficará assim:

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  | 65  |  40 |  01 |     |     |
LINHA 2 |     |     |     |     |     |     |     |     |     |
         -----------------------------------------------------


OBSERVACAO: no quadradinho A4 ficou apenas 1 algarismo pois já não havia mais nenhum para colocar.

4) Vamos, agora, começar a calcular de fato a raiz quadrada. Neste primeiro passo precisaremos calcular a raiz quadrada do número que está no quadradinho preenchido mais à esquerda, ou seja, do número que está no quadradinho A4 que é 7.

Somente neste passo necessitaremos calcular a raiz quadrada e para facilitar a vida de vocês deixo abaixo uma tabela com os quadrados dos números de 1 a 9 que são os que serão usados neste passo.

           -----------------------------------------------------
NÚMEROS   |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |
          |-----|-----|-----|-----|-----|-----|-----|-----|-----|
QUADRADOS |  1  |  4  |  9  | 16  | 25  | 36  | 49  | 64  |  81 |
           -----------------------------------------------------


Localize então na tabela acima, na linha QUADRADOS, o valor mais próximo do número 7 ou igual a 7.

Se você fez tudo certo, encontrará o valor 4 na linha QUADRADOS. O 9 não serve porque é maior que 7 e o 1 também não porque o 4 é mais próximo do 7 que o 1.

Escreva, então, o valor 4, encontrado na linha QUADRADOS do quadro acima, no quadradinho A4 da LINHA 2 e o valor 2, encontrado na linha NÚMEROS na mesma coluna do 4, escreva-o no quadradinho chamado RAIZ da LINHA 2.

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  | 65  |  40 |  01 |     |     |
LINHA 2 |     |     |     |  4  |     |     |     |  2  |     |
         -----------------------------------------------------


5) Subtraia o valor 4 do quadradinho A4 da LINHA 2 do valor 7 do quadradinho A4 da LINHA 1, ou seja, calcule 7 - 4 e escreva o resultado 3 na coluna A5 da LINHA 2, apagando, em seguida, o valor do quadradinho A4.

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  | 65  |  40 |  01 |     |     |
LINHA 2 |     |     |     |     |  3  |     |     |  2  |     |
         -----------------------------------------------------


6) Multiplique o valor do quadradinho A3 da LINHA 2 por 100 e some-o com o valor do quadradinho A3 da LINHA 1 (3 x 100 + 65 = 365), escrevendo o resultado no quadradinho A3 da LINHA 2.

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  | 65  |  40 |  01 |     |     |
LINHA 2 |     |     |     |     | 365 |     |     |  2  |     |
         -----------------------------------------------------


7) Escreva no quadradinho RAIZ da LINHA 1, os três primeiros algarismos (da esquerda para a direita) do valor do quadradinho A3 da LINHA 2 (neste caso os três primeiros algarismos do valor são o próprio valor pois este tem apenas três algarismos).

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  | 65  |  40 |  01 | 365 |     |
LINHA 2 |     |     |     |     | 365 |     |     |  2  |     |
         -----------------------------------------------------


8) Multiplique o valor do quadradinho RAIZ da LINHA 2 pelo valor 2 e escreva o resultado 4 no quadradinho AUX da LINHA 2 (2 x 2 = 4).

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  |  65 |  40 |  01 | 365 |     |
LINHA 2 |     |     |     |     | 365 |     |     |  2  |  4  |
         -----------------------------------------------------


9) Multiplique o valor do quadradinho AUX da LINHA 2 por 10 e escreva o resultado no mesmo quadradinho (4 x 10 = 40).

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  |  65 |  40 |  01 | 365 |     |
LINHA 2 |     |     |     |     | 365 |     |     |  2  |  40 |
         -----------------------------------------------------


10) Divida o valor do quadradinho RAIZ da LINHA 1 pelo valor do quadradinho AUX da LINHA 2. O resultado será 7,448979591836735 mas só consideramos a parte inteira que é 7 que deverá ser escrito no quadradinho AUX da LINHA 1.

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  |  65 |  40 |  01 | 365 |   7 |
LINHA 2 |     |     |     |     | 365 |     |     |  2  |  40 |
         -----------------------------------------------------


11) Multiplique o valor do quadradinho RAIZ da LINHA 2 por 10 e some ao resultado o valor do quadradinho AUX da LINHA 1, escrevendo, em seguida, o resultado no quadradinho RAIZ da LINHA 2 (2 x 10 + 7 = 27).

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  |  65 |  40 |  01 | 365 |   7 |
LINHA 2 |     |     |     |     | 365 |     |     |  27 |  40 |
         -----------------------------------------------------


12) Some o valor do quadradinho AUX da LINHA 1 ao valor do quadradinho AUX da LINHA 2 escrevendo, em seguida, o resultado no quadradinho AUX da LINHA 2, apagando o valor anterior.

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  |  65 |  40 |  01 | 365 |   7 |
LINHA 2 |     |     |     |     | 365 |     |     |  27 |  47 |
         -----------------------------------------------------


13) Multiplique o valor do quadradinho AUX da LINHA 2 pelo valor do quadradinho AUX da LINHA 1, escrevendo o resultado no quadradinho AUX da LINHA 2 (47 X 7 = 329).

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  |  65 |  40 |  01 | 365 |   7 |
LINHA 2 |     |     |     |     | 365 |     |     |  27 | 329 |
         -----------------------------------------------------


14) Subtraia o valor do quadradinho RAIZ da LINHA 1 do valor do quadradinho AUX da LINHA 2 (365 - 329 = 36), deixando o resultado no quadradinho A2 da linha 2 e apagando o valor do quadradinho A3 da LINHA 2.

           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  |  65 |  40 |  01 | 365 |   7 |
LINHA 2 |     |     |     |     |     |  36 |     |  27 | 329 |
         -----------------------------------------------------


15) À partir deste ponto o processo se repete, recomeçando pelo item 6. Em todo caso, darei um prosseguimento linear ao algoritmo.
Multiplique o valor do quadradinho A2 da LINHA 2 por 100 e some com o valor do quadradinho A2 da LINHA 1 (36 x 100 + 40 = 3640), escrevendo o resultado no quadradinho A2 da LINHA 2.


           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  |  65 |  40 |  01 | 365 |   7 |
LINHA 2 |     |     |     |     |     | 3640|     |  27 | 329 |
         -----------------------------------------------------

16) Escreva no quadradinho RAIZ da LINHA 1, os três primeiros algarismos (da esquerda para a direita) do valor do quadradinho A2 da LINHA 2 (364).


           A7    A6   A5     A4    A3    A2    A1   RAIZ  AUX
         -----------------------------------------------------
LINHA 1 |     |     |     |  7  |  65 |  40 |  01 | 364 |   7 |
LINHA 2 |     |     |     |     |     | 3640|     |  27 | 329 |
         -----------------------------------------------------




QUEREM SABER DE UMA COISA????? CANSEI!!! VOCÊS QUE CONTINUEM O RESTO À PARTIR DO ITEM 7, ALTERANDO APENAS A COLUNA A3, POR EXEMPLO, PARA A(3-1) = A2.
QUANDO CHEGAR NA COLUNA A0 QUE NÃO EXISTE, O PROBLEMA ACABOU E O VALOR DO QUADRADINHO RAIZ DA LINHA 2 SERÁ A RAIZ QUADRADA DO NÚMERO DADO.

Um comentário:

  1. Olá, João e Roger!!!!
    Boa noite!!!!
    Oba!!!! algo novo!!!! A invenção é boa e parabéns pela criatividade!!!!
    Muito obrigado pelo link e pela recomendação do método da extração manual da raiz quadrada publicada em meu blog o... Matemágicas e Números!!!!
    Que bom que vocês chegaram também dispostos a provarem (já começaram) que, a matemática não é impossível de ser dominada e que ela pode até ser um "bicho-de-seis-cabeças", mas... "bicho-de-sete-cabeças" nunca foi e... não será nunca!!!! Rsrsrsrs!!!!
    Saúde e paz e... bons trabalhos!!!!
    INTEL LOGO!!!!

    Um abraço!!!!!

    ResponderExcluir