Nesta aula vamos continuar a resolução de nossa lista de exercícios fazendo um algoritmo para calcular o fatorial de um número inteiro maior que zero em portugol.
2) Calcule o fatorial de x onde x é um número inteiro maior que zero em portugol.
Primeiramente quero lembrar novamente que se você não souber resolver o problema, você não conseguirá fazer o computador resolver o problema, ok?
Como calcular o fatorial?
A operação matemática fatorial é uma série de multiplicações. Vamos a mais detalhes. Para expressar o fatorial de 3, escrevemos 3! (com exclamação) e lemos exatamente assim: três fatorial.
Para calcular o fatorial de três, basta multiplicar os números de 3 até 1, assim:
3! = 3 * 2 * 1 = 6
Para calcular o fatorial de 7, basta multiplicar os números de 7 até 1, assim:
7! = 7 * 6 * 5 * 4 * 3 * 2 * 1 = 5040
Pela definição matemática o fatorial de 1 é 1 e o fatorial de 0 também é 1. Qualquer outro valor n é calculado por meio de multiplicações de n até 1.
n! = n * (n – 1) * (n – 2) * … * 2 * 1
Agora que sabemos calcular o fatorial, vamos então ao algoritmo.
O primeiro passo é garantir que o valor digitado é maior que zero. Isso é feito com uma repetição. Leia x enquanto x for menor que 1.
Na sequência fazemos a multiplicação e decrementamos x. Isso será repetido enquanto x for maior que 0.
Por fim, imprimimos então o resultado do fatorial.
programa{ funcao inicio(){ inteiro x, fat = 1 faca{ escreva("Digite um valor maior que zero: ") leia(x) }enquanto(x < 1) enquanto(x > 0){ fat = fat * x x-- // equivalente a fazer x = x - 1 } escreva("Fatorial: ", fat) } }
Como resolveria esta questão?
Escreva um algoritmo que solicite um valor inicial inteiro (não-negativo) X e
imprima a seqüência de valores do cálculo de X! (fatorial) e apresente o seu
resultado.
Ex: 5! = 5 x 4 x 3 x 2 x 1 = 120
Obs: 0! = 1