Prévia do material em texto
<p>SISTEMA DE ENSINO 100% ONLINE</p><p>ENGENHARIA ELÉTRICA</p><p>ATIVIDADE PRÁTICA</p><p>Algoritmos e Lógica de Programação</p><p>RIO GRANDE - RS</p><p>2023</p><p>ATIVIDADE PRÁTICA</p><p>Conjectura de Collatz</p><p>Trabalho apresentado à Universidade Anhanguera, como requisito parcial para a obtenção de média semestral nas disciplinas norteadoras do semestre letivo.</p><p>Tutor (a):</p><p>RIO GRANDE - RS</p><p>2023</p><p>SUMÁRIO</p><p>Algoritmos e Lógica de Programação 0</p><p>INTRODUÇÃO 3</p><p>MÉTODOS 3</p><p>Resultados 3</p><p>ANEXO A: Código do programa 4</p><p>Conclusão 6</p><p>Referências 6</p><p>INTRODUÇÃO</p><p>A conjectura de Collatz é um problema matemático que envolve a aplicação de duas regras simples a um número natural n. As regras são as seguintes:</p><p>· Se n for par, dividir por dois</p><p>· Se n for ímpar, multiplicar por três e somar um</p><p>A conjectura afirma que, repetindo essas regras indefinidamente, qualquer número natural n chegará a 1. Apesar de sua simplicidade, a conjectura de Collatz ainda não foi provada nem refutada, e é considerada um dos problemas mais difíceis da matemática.</p><p>O objetivo deste relatório é apresentar um programa em C/C++ que calcula a sequência de Collatz para qualquer número inteiro positivo maior que 1, e analisar alguns resultados obtidos com o programa.</p><p>MÉTODOS</p><p>O programa foi desenvolvido usando a linguagem de programação C/C++ com o compilador GCC 3.4.2 . O código do programa está disponível no anexo A.</p><p>O programa consiste em uma função chamada collatz(n), que recebe como parâmetro um número inteiro positivo maior que 1, e imprime na tela a sequência de Collatz e o seu tamanho para esse número. A função verifica se o parâmetro é válido, e em seguida aplica as regras da conjectura de Collatz até que o número seja igual a 1. A cada passo, o número é impresso na tela e o tamanho da sequência é incrementado.</p><p>O programa também solicita ao usuário que digite um número para calcular a sequência de Collatz, e chama a função collatz(n) com o número digitado.</p><p>Resultados</p><p>O programa foi testado com diferentes números, os resultados mostraram que o programa funciona corretamente para os números testados, e que a sequência de Collatz sempre termina em 1. Além disso, os resultados mostraram que o tamanho da sequência varia muito dependendo do número inicial. Por exemplo, o número 27 tem uma sequência muito longa (112 elementos), enquanto o número 15 tem uma sequência relativamente curta (18 elementos).</p><p>ANEXO A: Código do programa</p><p>#include<iostream></p><p>using namespace std;</p><p>void collatz(int n) {</p><p>while (n != 1) {</p><p>cout << n << endl;</p><p>if (n % 2 == 0) {</p><p>n = n / 2;</p><p>} else {</p><p>n = n * 3 + 1;</p><p>}</p><p>}</p><p>cout << n << endl;</p><p>}</p><p>int main() {</p><p>int n = 15;</p><p>cout << "Número escolhido: " << n << endl;</p><p>collatz(n);</p><p>return 0;</p><p>}</p><p>Imagem 1: Obtida pelo desenvolvedor.</p><p>Imagem 2: Obtida pelo desenvolvedor.</p><p>Conclusão</p><p>O relatório apresentou um programa em C/C++ que calcula a sequência de Collatz para qualquer número inteiro positivo maior que 1. O programa foi testado com diferentes números e os resultados foram analisados. O relatório concluiu que o programa funciona corretamente e que a conjectura de Collatz se verifica para os números testados. No entanto, o relatório também observou que o tamanho da sequência varia muito dependendo do número inicial e que não há uma fórmula simples para prever esse comportamento.</p><p>Referências</p><p>:Acervo Lima, Importância da conjectura de Collatz- [Importância da conjectura de Collatz – Acervo Lima]</p><p>: Dev-C++, Dev-C++ 5.0 (4.9.9.2) with Mingw/GCC 3.4.2 compiler and GDB 5.2.1 debugger (9.0 MB)</p><p>0</p><p>image3.png</p><p>image4.png</p><p>image1.png</p><p>image2.jpg</p>