Atividade 8: Sequência de Collatz
Esta atividade apresenta a sequência de Collatz, que está por trás de uma questão matemática que permanece sem solução desde a sua proposição há 80 anos! A proposta é criar um algoritmo que escreva a sequência dado o primeiro termo.
Arquivos
- Atividade 8 do livro.
Habilidades da BNCC
- EM13MAT315: Investigar e registrar, por meio de um fluxograma, quando possível, um algoritmo que resolve um problema.
- EM13MAT315: Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.
Objetivos específicos
- Compreender como sistematizar soluções algorítmicas usando fluxogramas ou linguagens de programação.
- Compreender os conceitos básicos de uma linguagem de programação: repetição.
Soluções em linguaguem de programação
- Solução em Portugol;
- Solução em Python;
- Solução em Python usando lista, um conceito que não é explorado neste material, mas é muito útil em questões como as que utilizamos;
- Versão em Python do algoritmo mostrado no Organizando seguinte a esta atividade;
Atividades adicionais
- Este arquivo traz uma atividade sobre sequências numéricas que pede aos estudantes que construam algoritmos (na verdade, um único algoritmo que pode ser facilmente ajustado para as 4 sequências) que escrevam sequências aritméticas como PAs, PGs e similares e depois discutam suas propriedades e significados.
- É possível estender essa atividade para discutir o uso de comandos de repetição encadeados. A questão que pode ser usada para isso é: crie um algoritmo que escreva a sequência de Collatz que se iniciam com todos os números inteiros de um intervalo dado. Por trás dessa pergunta pode-se colocar o desafio: quem encontra a sequência de collatz mais longa? Vale salientar que o método que testa as sequências uma a uma não é o mais eficiente, pois algumas sequências caem em subsequências que já foram contadas e, portanto, poderiam ser reaproveitadas. Porém, isso demandaria o uso de vetores (arrays em linguagens comerciais) ou lsitas (como mostrado no link acima em Python) e esses conceitos não são abordados neste material.