Foto de Aline L.
Aline há 6 anos
Enviada pelo
Site

Programação em c, no deve c++

Escreva um programa que leia um número e uma função que calcula o fatorial de um número. Implementar uma versão recursiva e uma versão com estrutura de repetição. Deixe o usuário escolher qual versão deve retornar a resposta.
Computação Geral Geral
3 respostas
Respondeu há 6 anos
Contatar Aline
Professor Gean X. , Obrigada. Mas o que seria essa estrutura de decisão ?

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Tutoria com IA
Converse com a Minerva IA e aprenda, tire dúvidas e resolva exercícios
Professor Gabriel S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 6 anos
Contatar Gabriel
Olá Aline, Pelo o que entedi do enunciado da questão, a estruturta de repetição seria um while ou um for. Lembrando que o fatorial de um número inteiro pode ser calculado por: fatorial(n) = 1 se n = 1 ou n = 0 n * (n -1) se n > 1 Dado a definição acima a implementação recursiva do fatorial é bem direta. Se não for usada a recursão, então devemos usar uma repetição para calcular o valor de n * (n -1) * (n -2) * ... * 1. Para que fique evidente a maneira de como iremos implementar o fatorial iterativo vamos reescrever a definição fatorial(n) por: fatorial(n) = 1 se n = 1 ou n = 0 1 * 2 * ... * n se n > 1 Na definição acima observe que multiplicamos uma sequencia de números que começa em 1 e vai até a n. Assim basta criar uma variável i para contarmos de 1 a n e outra variável para guardar o resultado de 1 * 2 * ... * i. Abaixo temos duas implementações, uma usando um while e outra usando um for: 1) implemntação com while: unsigned int fatorial(int n) { int i; unsigned int fat; fat = 1; if (n == 0 || n == 1) return fat; /* comecei com i = 2 pois n deve valer pelo menos 2 para executar essa parte do código */ i = 2; while (i <= n) { fat = fat * i; i++; } return fat; } 2) implementação com for: unsigned int fatorial(int n) { int i; unsigned int fat; fat = 1; if (n == 0 || n == 1) return fat; /* comecei com i = 2 pois n deve valer pelo menos 2 para executar essa parte do código */ for (i = 2; i <= n; i++) { fat = fat * i; } return fat; } Em ambos os casos usamos um while ou um for para executar efetuar o calculo do fatorial. Todos os comando usados no while ou no for fazem parte da estrutura de repetição. Espero ter ajudado. Atenciosamente, Gabriel Sobral

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Respondeu há 6 anos
Contatar Aline
Obrigada Gabriel. Não entendi muito bem não, mesmo assim obrigada

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Prefere professores para aulas particulares ou resolução de atividades?
Aulas particulares
Encontre um professor para combinar e agendar aulas particulares Buscar professor
Tarefas
Envie sua atividade, anexe os arquivos e receba ofertas dos professores Enviar tarefa