Como desenhar a sequência de Fibonacci no VBA

Um meme viralizou, representando o golaço do jogador Richarlison com uma sequência de Fibonacci ao fundo.

Esta é uma sequência descoberta pelo matemático Leonardo de Pisa, mais conhecido como Fibonacci.
Comece com 1, 1, e o próximo termo é a soma dos dois anteriores:
1, 1, 2, 3, 5, 8, 13, 21, 34, …

É possível visualizar essa bela sequência na forma retangular, aproveitando o fato de que o próximo termo será igual ao lado dos dois anteriores:

Além disso, é possível colocar um arco de círculo de 90 graus em cada quadrado, explicitando uma espiral.

Como a sequência acima é formada apenas de retângulos e arcos, é possível escrever uma macro VBA, seguindo a espiral, de forma a fazer o desenho acima.

Essencialmente, são só comandos de shape, e mais um monte de cálculos para posicioná-los corretamente:

ActiveSheet.Shapes.AddShape(msoShapeRectangle, x, y, width, height) ‘Retangulo
ActiveSheet.Shapes.AddShape(msoShapeArc, x, y, width, height) ‘Arco

Ela é meio chatinha de entender, mas para quem quiser se aventurar, o código VBA está aberto, no arquivo para download a seguir.

https://1drv.ms/x/s!Aumr1P3FaK7joFRGUClrkajeCuQW?e=dylWYI

A espiral cresce na “Proporção Áurea”, que segundo os gregos antigos, se traduz na proporção perfeita da natureza. E o golaço mostra que os antigos gregos eram muito sábios!

Veja também:

Prova Visual da Soma de Cubos

Há uma fórmula muito bonita, da soma de cubos, que é assim:

13+23+33+43+ … + n3 = (1+2+3+4+ …+n)

Segue uma prova visual, para os 5 primeiros termos da sequência.

E assim sucessivamente…

Veja também:

Lab. Matemática (ideiasesquecidas.com)

As curvas do espirógrafo e as órbitas dos planetas (ideiasesquecidas.com)

Um pequeno paradoxo de somas infinitas

Vi um pequeno paradoxo e achei intrigante.

1 + 2 + 3 + 4 + … = 1 + (2 + 3 + 4) + (5 + 6 + 7) + (8 + 9 + 10) + …

= 1 + 9 + 18 + 27 + …

= 1 + 9*(1 + 2 + 3 + 4 + …)

Chamando S a soma 1 + 2 + 3 + 4 + …, temos

S = 1 + 9*S

-> 8S = -1

-> S = -1/8

O que nos leva à conclusão:

1 + 2 + 3 + 4 + … = -1/8

Qual o furo da lógica?

Escreverei minha opinião no próximo post, daqui a uns 2 dias.

Um pequeno puzzle mental

O puzzle abaixo, tirado de um livrinho de problemas que tenho, tem uma solução bastante criativa e simples.

Pare por aqui para resolver, se não quiser ver a solução.

Solução:

Uma solução simples é fazer as somas de cada número, porém, existe uma solução melhor.

Visualize dobrar o papel ao longo da diagonal principal (a que está preenchida com 10). O 1 vai somar com o 19, dando 20; as casas com 2 vão somar com as casas com 18, somando 20; e assim sucessivamente.

Como as casas que somam 20 contam duas casas, na média, é como se TODAS as casas do tabuleiro fossem iguais a 10.

Assim, a solução consiste na multiplicação 10 x 10 x 10 = 1000.

Veja também:

A Dança dos Polígonos

Baseado em post anterior, resolvi escrever uma rotinazinha para traçar padrões em malhas de diversos polígonos.

Brinque iterativamente em:
https://asgunzi.github.io/PadroesPoligonos/PadroesPoligonos.html

Padrões em quadrados

Vídeo no youtube:

Quando o polígono tem um número impar de lados, até forma um padrão, mas não fica muito bonito. Vou manter somente os de lado par.

Padrões em hexágonos.
Foto:


Vídeo no Youtube:

Padrões em octágonos
Foto.

Padrões em decágonos
Foto.


Vídeo no youtube:

Padrões em dodecágonos
Foto.


Vídeo no youtube:

Código fonte no Github, para quem quiser fazer modificações.

https://github.com/asgunzi/PadroesPoligonos

Veja também:

Padrõs em círculos: https://ideiasesquecidas.com/2022/05/26/padroes-em-circulos/

Laboratório de mateMágica
https://ideiasesquecidas.com/laboratorio-de-matematica/

A Espiral de Ulam

A Espiral de Ulam é uma outra de representação dos números primos, estudada pelo brilhante matemático Stanislaw Ulam.

Eu não conhecia essa espiral, foi o amigo Sinésio Barberini que me indicou, após o artigo anterior, a “Colmeia dos Primos”.

A espiral começa com o número 1, e depois vai preenchendo os demais números, seguindo um padrão espiral.

Da mesma forma que a colmeia, pintamos de cinza os números compostos, e de dourado os números primos, imaginando uma peneira passando a luz do sol.

Vide implementação interativa em:

https://asgunzi.github.io/Espiral-de-Ulam/EspiralUlam.html

Alguns prints:

Espiral de Ulam com 5,7 mil números.

Espiral de Ulam com 10 mil números.

É possível notar algumas diagonais no desenho – mas não explicar. Este é um dos mistérios levantados por Ulam, na época, e popularizados pelo grande colunista de puzzles Martin Gardner.


Nota aleatória: Stanislaw Ulam foi um dos criadores do método conhecido como Simulação de Monte Carlo, juntamente com John Von Neumann, na época da Segunda Grande Guerra.







Veja artigos semelhantes e me siga no LinkedIn:
https://www.linkedin.com/in/arnaldogunzi/

https://clube.spm.pt/news/vida-obra-de-stanislaw-ulam

https://en.wikipedia.org/wiki/Ulam_spiral

https://ideiasesquecidas.com/2022/04/22/a-colmeia-dos-numeros-primos

O Canguru da Matemática

No último sábado, a minha filha mais velha fez a prova Canguru de Matemática. Eu não conhecia e achei a iniciativa excelente.

É basicamente uma provinha, tipo uma Olímpiadas de Matemática para jovens do ensino fundamental e médio, feita anualmente.

O site do programa, abaixo, é muito bom, e contém inclusive as provas passadas, para os diversos níveis em que ela é aplicada. Faço questão de divulgar:

https://www.cangurudematematicabrasil.com.br/index.html

Segundo o site, o Canguru de Matemática é o maior concurso internacional do tipo, e no Brasil, começou em 2009.

Segue um exemplo de questão, de uma das provinhas do ano passado, só para ilustrar.

Parabéns aos organizadores pela iniciativa! Que surjam inúmeros cangurus matemáticos no Brasil e no mundo!

Veja também:

Projeto Euler

Uma dica para quem quer aprender alguma linguagem de programação + matemática: o Projeto Euler.

https://projecteuler.net/

Este contém 788 problemas a serem resolvidos, em ordem crescente de dificuldade.

O próximo desafio só é liberado após resolver o atual.

Usuário deve fazer cadastro para acessar, e é gratuito.

Exemplo, essa aqui é a primeira tarefa:

“If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000″

No caso acima, há uma abordagem ingênua (testar todo mundo, força bruta), e também algumas mais elaboradas (testar múltiplos de 3 e 5 e tomar cuidado quando o número é múltiplo de ambos).

Eles pedem para não divulgar soluções, que são como spoilers de filmes, estragam toda a brincadeira.

Tem um fórum de discussão para cada problema, a fim de ajudar quem está com dificuldades.

Qualquer linguagem de programação pode ser utilizada – você só informa a resposta e vê se acertou ou não.

O nome do site é em homenagem ao grande matemático suíço Leonhard Euler, que viveu cerca de 200 anos atrás. Foi o mais prolífico dos matemáticos, escrevendo teoremas variando desde grafos até números complexos. Em um determinado momento de sua vida, Euler perdeu totalmente a visão, porém continuava enxergando com sua mente: ele ditava os teoremas e cálculos de sua cabeça para os auxiliares redigirem artigos.

E haja artigos. Euler tem 850 publicações, compilados em 92 livros!

Veja também:

Empilhamento de cartas e série harmônica

Quantas cartas consigo empilhar, de modo que a borda das superiores saiam da mesa e elas se sustentem apenas por gravidade? Qual distância máxima consigo chegar?

Este probleminha é relativamente simples, e interessante, por remeter à série harmônica.

Para analisar o raciocínio, deve-se pensar da carta de cima para as cartas de baixo.

Com uma carta, posso colocar o centro de gravidade exatamente na borda da mesa (representada pelo triângulo). Ou seja, ando lateralmente meia carta. Como hipótese, podemos considerar que a carta tem tamanho 2, sendo assim, meia carta tem tamanho 1, para facilitar as contas seguintes.

Com duas cartas, considera-se que o centro de gravidade da primeira carta está exatamente na borda da segunda carta. O ponto de equílibro do centro de gravidade do sistema é dado por pela soma de distâncias * pesos.

Nesse caso: (1-x) P = x*P

-> x = 1/2

Com três cartas e o mesmo raciocínio:


(1-x)* P = x*2*P

-> x = 1/3

Temos um padrão, e para a k-ésima carta:
(1-x)* P = x*(k-1)*P

-> x = 1/k

Ou seja, o total que a pilha anda lateralmente é dado exatamente pela série harmônica:
1 + 1/2 + 1/3 + 1/4 + 1/5 + … + 1/k

Sobre a série harmônica, o notável matemático Leonard Euler, no século 18, notou que esta tem uma similaridade enorme com a função logaritmo. Mais formalmente, temos a constante de Euler, dada por:

e

γ≈0.5772156649

Ou seja, a soma da série harmônica e o logaritmo neperiano tendem a uma constante.

Dá para perceber a semelhança entre as séries através da prova da divergência da série harmônica (veja aqui). Para cada avanço adicional na soma da série, é necessária uma quantidade exponencialmente maior de termos (ou seja, para cada metro lateral adicional, é necessária uma quantidade exponencialmente maior de cartas).

Uma curiosidade é que não se sabe até hoje se a constante de Euler é racional ou irracional.

Bom, respondendo à pergunta do problema. A série harmônica diverge, ainda que muito lentamente, de modo que a pilha pode andar na lateral uma distância infinita! É claro que, para isso, será necessária uma quantidade infinita também de cartas. Nada mau, para uma pergunta tão ingênua!

Veja também.

https://en.wikipedia.org/wiki/Euler%27s_constant

https://mathworld.wolfram.com/Euler-MascheroniConstant.html

A Espiral musical em Excel

A “Espiral musical”, a figura abaixo, é construída somente com retas e uma regra simples de ângulos.

Ela é baseada num vídeo enviado pelo amigo Maurício Cota.

Comece com uma reta qualquer. Depois, trace uma nova reta, adicionando uma rotação com um ângulo.

Continue a sequência, agora adicionando reta com 2*ângulo, depois 3*ângulo…

Na sexta iteração:

Com 100 iterações:

O arquivo Excel aqui (https://1drv.ms/x/s!Aumr1P3FaK7jn2acOg89jOQF3Kl4) implementa a rotina, podendo variar ângulos, tamanho da reta e número de iterações.

Dica: Para plotar uma reta no VBA, basta usar o comando abaixo.

    ActiveSheet.Shapes.AddConnector(msoConnectorStraight, x1, y1, x2, y2).Select

Este vai plotar uma reta começando nas coordenadas (x1,y1) e terminando em (x2,y2).

Alguns exemplos:

Mudando um pouco a rotina, é possível fazer degradê de cores.

Outra dica é colocar um ângulo fracionário. Isso porque um ângulo inteiro uma hora vai se tornar periódico, e a figura não será tão legal.

Trilha sonora: O Rancho das Flores, de Vinícius de Moraes e Johann Sebastian Bach

Vinicius de Moraes – Rancho das flores, com Toquinho e Clara Nunes. – YouTube

Veja também:

https://ferramentasexcelvba.wordpress.com

Uma moça formosa, o último Teorema de Fermat e o Prêmio Wolfskehl

Como um amor não correspondido pode influenciar num dos teoremas mais famosos da matemática?

O alemão Paul Wolfskehl, descendente de um banqueiro, era médico de formação, porém, também estudou matemática nas universidades de Bonn e Bern, em torno de 1880.

Nessa época, ele estava terrivelmente apaixonado por uma jovem moça do seu círculo social. Contudo, já desde esta época, jovens nerds não atraíam moças formosas. Após inúmeros “foras”, ele tinha perdido totalmente as esperanças de um casamento, e também a motivação de viver…

Decidido, Wolfskehl planejou cuidadosamente o seu suícidio. Marcou data e hora exatas, testamento feito e todos outros procedimentos completos para o ritual.

Entretanto, ele tinha sido eficiente demais, e ainda faltavam várias horas para o momento previsto. Para matar o tempo, ele decidiu estudar sobre um curioso teorema que, supostamente, tinha acabado de ser provado.

Este era o último teorema de Pierre de Fermat, que estava fascinando matemáticos desde sua formulação, em meados de 1600.

O grande Teorema de Fermat afirma que não existem números inteiros a, b e c, para n>2, tais que:

a^n + b^n = c^n

Para n = 2, este se reduz ao famoso Teorema de Pitágoras, que todos nós estudamos no primeiro grau. Por isso, o teorema vale para valores maiores que 2.

Na época de Wolfskehl, acreditava-se que o teorema tinha sido provado, pelo matemático Augustin Cauchy. Porém, um teorema resolvido não apresenta um desafio. São os desafios das conjecturas não resolvidas que movem os matemáticos, como se fosse uma corrida do primeiro ao chegar ao topo do Everest ou ao Pólo Sul.

Na fatídica madrugada de seu suicídio, Wolfskehl passou horas concentrado, e descobriu um erro lógico na formulação de Cauchy. Com isso, o Teorema de Fermat continuava de pé!

Melhor ainda, quando Wolfskehl completou o raciocínio, o horário do suicídio já tinha passado.

Motivado pela deusa da Matemática, infinitamente mais bela do que qualquer contrapartida feminina, Wolfskehl decidiu continuar a viver.

Para a tristeza de seus parentes e de seu mordomo, Wolfskel tinha outros planos para o seu testamento. Agora, ele oferecia um prêmio de 100 mil marcos (equivalente a 1 milhão de libras em dinheiro atual), para quem decifrasse o Último Teorema de Fermat.

A notícia de que o teorema continuava não resolvido e o prêmio oferecido ajudaram a aumentar o interesse no tema, nas décadas seguintes.

O Último Teorema de Fermat foi finalmente provado cerca de 100 depois, por Andrew Wiles.

Essa história curiosa foi publicada no livro “O último teorema de Fermat”, por Simon Singh, recontada aqui com alguma simplificação aqui, algum exagero acolá.

Link da Amazon para o livro:

https://amzn.to/30ny8Pd

Veja também:

https://en.wikipedia.org/wiki/Paul_Wolfskehl

https://simonsingh.net/media/articles/maths-and-science/the-wolfskehl-prize/

Prova visual da aproximação de raiz (a + b)

A expressão a seguir fornece uma aproximação da raiz (a + b), quando b<<a (b muito menor que a):

Dá para interpretar facilmente a aproximação, pensando em áreas.

A raiz quadrada de a é o lado do quadrado que tem área a.

Suponha que queremos a raiz de a + b, e o quadrado a seguir tenha exatamente as dimensões desejadas.

Como fazer para encontrar o valor desconhecido x?

Se a área verde é igual a b, metade dela será b/2, e essa área é aproximadamente igual a raiz(a) * x, desprezando a “quina” que não faz parte do retângulo.

Assim, temos x = b/(2*raiz(a)), e a dedução da fórmula citada.

Note que o erro equivale à parte em vermelho do diagrama.

E o erro será menor tanto quanto b for menor do que a.

Veja também:

https://ideiasesquecidas.com/laboratorio-de-matematica