Prévia do material em texto
UNIVERSIDADE PITÁGORAS - UNOPAR ANHANGUERA
GRADUAÇÃO EM ENGENHARIA CIVIL
DIEGO DA SILVA MACHADO
RELATÓRIO DE AULA PRÁTICA- ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
SANTA MARIA – RS
2024
DIEGO DA SILVA MACHADO
RELATÓRIO DE AULA PRÁTICA:
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
RELATÓRIO DE AULA PRÁTICA – ALGORITMO E LÓGICA DE PROGRAMAÇÃO
, APRESENTADO AO CURSO DE GRADUAÇÃO EM ENGENHARIA CIVIL DA
UNIVERSIDADE PITÁGORAS -UNOPAR ANHANGUERA COMO REQUISITO A
OBTENÇÃO DE NOTA.
SANTA MARIA
2024
Introdução
O objetivo deste relatório é apresentar o desenvolvimento de um código de
programação em linguagem C para abordar a Conjectura de Collatz, um problema
matemático que firma que qualquer número natural pode ser reduzido a 1 por meio
de uma sequência de operações simples, o objetivo é demonstrar o uso de
algoritmos e lógica de programação.
Desenvolvimento
A conjectura de Collaz é um dos grandes mistérios da matemática. Esta conjectura
afirma que, se tomarmos qualquer número inteiro não zero e aplicarmos uma regra
simples, sempre chegaremos ao número 1 depois de um número finito de passos. A
regra e a seguinte se o número for par, dividimos ele por 2; se for ímpar, multiplica
ele por 3 e soma 1, repetindo esse processo eventualmente se chegara a 1,
independente do valor inicial de n.
Para implementar essa conjectura em linguagem C, o primeiro passo foi entender o
algoritmo que descreve esse processo. O algoritmo consiste em um laço de
repetições que verifica se o numero e par ou impar e aplica a operação
correspondente, até que o numero seja igual a 1. Em seguida, foi feito um pseudo
código, que é uma forma simplificada e estruturada de representar o algoritmo em
linguagem natural, sem se preocupar com a sintaxe de linguagem de programação.
O pseudo-código ficou assim;
Depois de ter o pseudo código, foi feito o código propriamente dito em linguagem C,
usando as estruturas de controle e funções adequadas. O código ficou assim:
// Incluímos a biblioteca stdio.h
#include
// A função main é o ponto de entrada
int main() {
// Declaramos uma variável 'n' para armazenar o número inserido
int n;
// Insere um número
printf("Digite um número inteiro positivo maior que 1: ");
scanf("%d", &n);
// Iniciamos um loop que continuará até que 'n' seja igual a 1
while (n != 1) {
// Imprimimos o valor atual de 'n'
printf("%d, ", n);
// Verificamos se 'n' é par
if (n % 2 == 0) {
// Se 'n' for par, dividimos por 2
n = n / 2;
} else {
// Se 'n' for ímpar, multiplicamos por 3 e somamos 1
n = 3 * n + 1;
}
}
// Quando 'n' se torna 1, saímos do loop e imprimimos o valor final de 'n'
printf("%d\n", n);
// A função main retorna 0 para indicar que o programa terminou com sucesso
return 0;
}
Resultados obtidos durante a execução, considerando os números 10,6 e 27.
.
Conclusão
O objetivo deste relatório foi desenvolver um código na linguagem C para a
conjectura de Collaz, a qual afirma que qualquer número natural positivo
eventualmente chega a 1 se for aplicada a regra: se o numero for par, divida-o por 2;
se for ímpar, multiplique-o por 3 e some 1. O código elaborado foi capaz de executar
essa regra e mostrar o número de passos necessários para que cada número
testado chegasse a 1. Os resultados das ilustrações práticas para os números 10,6
e 27 comprovaram a eficácia do código, pois todos eles atingiram o valor esperado
seguindo a regra da conjectura, convergindo assim para resultados satisfatórios
propostos neste relatório.