aula 67

Exercício 2 | Faça um algoritmo para calcular o fatorial de um número em Portugol

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)
	}
}


Este post tem um comentário

  1. Emilly

    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

Deixe um comentário

1 × um =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.