Este documento apresenta dois programas recursivos como exemplos na aula sobre recursividade. O primeiro programa calcula o fatorial de um número de forma recursiva e o segundo calcula a potenciação de um número de forma recursiva. Os alunos devem copiar os códigos, analisar sua execução e explicar a funcionalidade de cada um.
2. TEMA: Aula de LAB 04 – RECURSIVIDADE – 2015.1
Nos exercíciosdessaaula, iremosseguiros seguintespassos:
1) Copiar os exercíciospara o Dev-C++ e analisar sua execução.
2) Após a cópia, escrevernesta folhao que foi identificadonaexecuçãodo programa.
3) Por favormanter a atençãona aula, evitaracessosà internete outrasdistrações,para melhorentendimento
dos programas
CENTRO UNIVERSITÁRIO ANHANGUERA DE SÃO PAULO
Unidade Marte: Av. Braz Leme, 3.029 – Santana – São Paulo (SP) – 02022-011 – (11) 2972-9000
DISCIPLINA: Programação Estruturada II
PROFESSOR: Thomás da Costa
ALUNO: RA:
TURMA: PERÍODO: DATA:
CURSO:
AVALIAÇÃO: ASS. PROFESSOR:
3. 1) explique a funcionalidade doprograma abaixo:
#include <iostream>
using namespace std;
int calcular_fatorial(int valor);
int main()
{
cout << "Valor do fatorial:" << calcular_fatorial(6);
}
int calcular_fatorial(int valor)
{
if (valor == 0)
return 1;
else
{
valor = (valor * calcular_fatorial(valor - 1));
cout << valor << endl;
return valor;
}
}
Resposta:
_______________________________________________________________________________________________
_______________________________________________________________________________________________
_______________________________________________________________________________________________
_______________________________________________________________________________________________
_______________________________________________________________________________________________
_______________________________________________________________________________________________
4. 2) explique a funcionalidade doprograma abaixo:
#include <iostream>
using namespace std;
int potencia(int base, int expoente);
int main()
{
int base = 5;
int expoente = 3;
cout << "Potencia:" << potencia(base, expoente);
}
int potencia(int base, int expoente)
{
if (expoente == 0)
return 1;
else
{
int valor = base * potencia(base, expoente - 1);
cout << valor << endl;
return valor;
}
}
Resposta:
_______________________________________________________________________________________________
_______________________________________________________________________________________________
_______________________________________________________________________________________________
_______________________________________________________________________________________________
_______________________________________________________________________________________________
_______________________________________________________________________________________________