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

Computação Geral Geral
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.
Foto de Aline L.
Aline perguntou há 5 anos

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
Responder dúvida
3 respostas
0
votos
Nenhum usuário votou nessa resposta como útil.
Aline L.
Respondeu há 5 anos
Professor Gean X. , Obrigada. Mas o que seria essa estrutura de decisão ?

Envie uma dúvida gratuitamente

Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.

0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Gabriel S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 5 anos
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
0
votos
Nenhum usuário votou nessa resposta como útil.
Aline L.
Respondeu há 5 anos
Obrigada Gabriel. Não entendi muito bem não, mesmo assim obrigada

Está precisando de Aulas Particulares?

Aqui no Profes você encontra os melhores professores particulares, presenciais ou online, para aulas de qualquer assunto!

Professores particulares de Computação

+ Ver todos
Encontre professor particular para te ajudar nos estudos
R$ 60 / h
César D.
Mogi Guaçu / SP
César D.
4,9 (809 avaliações)
Horas de aulas particulares ministradas 87 horas de aula
Tarefas resolvidas 992 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
Computação - Excel Técnico em Computação Programação Básica
Graduação: Matemática Aplicada e Computacional (Universidade Estadual de Campinas (UNICAMP))
Faça aulas de matemática, computação e programação em c, c++, java e python.
R$ 65 / h
Wendel S.
São Paulo / SP
Wendel S.
4,6 (14 avaliações)
Horas de aulas particulares ministradas 95 horas de aula
Tarefas resolvidas 26 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
Arduino - Computação Computação - Programação Hardware
Especialização: Formação Pedagógica para Educação Profissional ( Centro Paula Souza)
Professor de Computação e Administração que alia teoria com a prática buscada pelo mercado de trabalho. Vamos formar uma parceria de sucesso !
R$ 90 / h
Márcio C.
Caxias do Sul / RS
Márcio C.
4,8 (78 avaliações)
Horas de aulas particulares ministradas 11 horas de aula
Tarefas resolvidas 91 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
Computação - Introdução à linguagem C Lógica Matemática Computação - Algoritmos em C
Mestrado: Sistemas Eletrônicos (Escola Politécnica da Universidade de São Paulo (POLI-USP))
Professor de engenharia elétrica, matemática e física desde 2019 no profes. Venha aprender de forma agradável, amigável e interativa comigo!