Escolar Documentos
Profissional Documentos
Cultura Documentos
NÚCLEO DE TECNOLOGIA
Porto Velho - RO
2023
RELATÓRIO: ALOCAÇÃO DINÂMICA DE MEMÓRIA E FUNÇÕES RECURSIVAS.
Relatório: Programação/Computação da
disciplina de Lógica e Programação II, do discente
da Universidade Federal de Rondônia UNIR,
como requisito parcial para obtenção da presença
do curso de Engenharia Civil.
Porto Velho – RO
2023
1 Introdução
Este relatório apresenta uma análise detalhada sobre dois conceitos fundamentais da
programação: alocação dinâmica de memória e funções recursivas. O objetivo deste estudo é
compreender como essas práticas influenciam a eficiência e a flexibilidade dos programas, bem
como identificar as melhores práticas para sua implementação.
Segundo Moreira em 2013, quando o programador deseja fazer a alocação de dados explicitamente,
ele deve manter controle dessa alocação, e não é possível abstrair o local dessa área de dados. Nesse
novo método de usar a memória, é essencial saber onde a memória foi alocada para que ela possa ser
devidamente utilizada.
Serão abordados dois exemplos para ilustrar os conceitos de alocação de memória. O primeiro
exemplo, dado na figura 2, mostra como reservar espaço explicitamente para guardar um valor
inteiro.
No segundo exemplo, adotou-se uma abordagem semelhante à anterior, mas foi diferenciada
a alocação dinâmica de memória pela quantidade de bytes reservados para armazenar uma
quantidade maior de dados:
3 Funções Recursivas
A recursão é uma técnica de programação utilizada quando é possível resolver um problema
expressando-o em termos dele mesmo. Em linguagem de programação C, podemos definir
funções recursivas que se chamam a si mesmas. No entanto, essa técnica deve ser utilizada com
cautela, pois é necessário pensar em como fazer a recursão parar para evitar loops infinitos que
podem causar erros ou esgotar a memória. Em alguns casos, soluções com comandos de
repetição (solução iterativa) podem ser mais adequadas, pois consomem menos memória e são
mais eficientes em termos de desempenho. Porém, em certos problemas, a recursão pode tornar
o programa mais simples e elegante (BERTOLINI, C; PARREIRA, F; CUNHA, G et al., 2019).
No exemplo acima, foi criada uma função fatorial de forma recursiva para calcular o fatorial
de um número inteiro. A função recebe o número como argumento e realiza o cálculo do fatorial
multiplicando o número pelo fatorial do número anterior, até que o caso base seja alcançado
(quando o número é igual a 0 ou 1, sendo o fatorial igual a 1).
No ‘main’, o usuário insere um número inteiro, e o programa calcula e exibe o fatorial desse
número, contanto que o número seja não negativo. Caso o número seja negativo, uma
mensagem de aviso é exibida informando que o fatorial não está definido para números
negativos.
4 Conclusão