Exercício 19: Construir um programa que utiliza uma função recursiva para prodN calcular o produto de 1 até n .

Passo 1

A questão pede para criar um programa que usa recursão para calcular o produto de todos os inteiros de 1 até n, ou seja, calcular prodi=1^n i. O conteúdo envolvido é recursão em programação, e vamos precisar entender o que são caso base e chamada recursiva.

Passo 2

Em recursão, definimos um caso base para interromper as chamadas e, fora dele, fazemos a chamada recursiva. Para nosso produto, o caso base é quando n<=1, retornando 1. Para n>1, temos:
prodN(n)= 1, & n<=1, ncdotprodN(n-1), & n>1

Passo 3

Agora, montamos um pseudocódigo simplificado para guiar a implementação:
  1. Função prodN(n):
    • Se n <= 1, retorna 1
    • Senão, retorna n * prodN(n-1)
  2. No programa principal, lê n do usuário, chama prodN(n) e exibe o resultado.

Passo 4

Por fim, vamos traduzir esse pseudocódigo para C. Explicando rápido: incluímos a biblioteca stdio.h, escrevemos a função recursiva prodN, lemos o valor de n em main, chamamos prodN(n) e imprimimos o produto.

Resposta

#include <stdio.h>
long prodN(int n) {
if (n <= 1)
return 1;
return n * prodN(n - 1);
}
int main() {
int n;
printf(“Digite um valor para n: “);
scanf(”%d”, &n);
printf(“Produto de 1 até %d = %ld\n”, n, prodN(n));
return 0;
}

Exercícios relacionados