Relatório - Conjectura de Collatz
Por: LUAN.SR91 • 22/10/2023 • Relatório de pesquisa • 589 Palavras (3 Páginas) • 92 Visualizações
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
RELATÓRIO DA AULA PRÁTICA
LUAN SANTOS RODRIGUES
CACHOEIRO DE ITAPEMIRIM – ES
16 DE OUTUBRO DE 2023
- INTRODUÇÃO
Este relatório tem como objetivo descrever o desenvolvimento de um programa que calcula a sequência da Conjectura de Collatz. A Conjectura de Collatz, também conhecida como "Problema 3n + 1," foi nomeada em homenagem ao matemático alemão Lothar Collatz, que a propôs em 1973. Essa conjectura matemática é aplicável a qualquer número natural inteiro e segue uma regra simples: se o número for par, divida-o por 2; se for ímpar, multiplique-o por 3 e adicione 1. A sequência resultante de repetidas iterações é conhecida por apresentar comportamento complexo e, até o momento, não se chegou a uma prova matemática que determine se a sequência é finita ou infinita.
- METODOLOGIA
Descreveremos o desenvolvimento de um programa em C, utilizando o DEV C/C++, que permitirá calcular e explorar a sequência da Conjectura de Collatz para números inteiros fornecidos ao programa. A sequência do código foi organizada em etapas lógicas que correspondem às regras do problema.
- DESENVOLVIMENTO
Com o objetivo de abordar e compreender o problema em questão, foi realizado o esboço adotando duas abordagens distintas: primeiro, uma descrição narrativa e, em seguida, a representação em pseudocódigo.
Descrevendo de forma suscinta a descrição narrativa, tem-se os seguintes comandos:
- Entrar com número positivo superior a 1.
- Se o número for par, dividir por 2.
- Se o número for ímpar, multiplicar por 3 e somar 1.
- Exibir sequência de Collatz, que sempre termina em 1.
Logo abaixo, foi definida passo a passo para compreensão, o seu pseudocódigo:
- Solicitar ao usuário um número inteiro positivo, armazenar em ‘n’.
- Inicializar uma variável ‘sequência’ com ‘n’.
- Enquanto ‘n’ for diferente de 1:
- Se ‘n’ for par:
- Dividir ‘n’ por 2.
- Caso contrário (se ‘n’ for ímpar):
- Multiplicar ‘n’ por 3 e adicionar 1.
- Concatenar ‘n’ à variável ‘sequência”.
- Exibir ‘sequência’.
Com base na explicação anterior, traduzindo as etapas do pseudocódigo em comandos da linguagem C, empregando os elementos específicos da linguagem, resultou no código a seguir, conforme ilustrado na imagem abaixo:
[pic 1]
- RESULTADOS
Foram realizados os seguintes testes: após a compilação e execução do programa com a entrada do número par “10”, obteve-se a seguinte sequência de Collatz, conforme a imagem abaixo:
[pic 2]
Contudo, também foi realizado teste com o número ímpar “11”, resultando na seguinte sequência de Collatz:
[pic 3]
Os resultados são prontamente observados após a inserção de um número inteiro positivo. O programa, em seguida, aplica as regras da Conjectura de Collatz para calcular a sequência até que o número alcance 1, demonstrando a quantidade de passos necessários para atingir esse valor.
- CONCLUSÃO
Nesta aula prática, proporcionou a compreensão mais clara e simplificada da Conjectura de Collatz ao traduzi-la em um formato de código de programação, sendo capaz de analisar o comportamento da sequência de números gerados pela conjectura, ao inserir um número inteiro positivo.
...