Defina uma função no Scilab que dado um número inteiro positivo n calcule o fatorial desse número.

Passo 1

O enunciado pede para criar uma função em Scilab que, dado um número inteiro positivo n, retorne o valor de n!. O conteúdo principal é a definição de funções no Scilab e o uso de laços de repetição (ou recursão) para calcular o produto de todos os inteiros de 1 até n.

Passo 2

Primeiro vamos tratar o caso de entradas inválidas: verificar se n é um inteiro e se é maior ou igual a zero. Em seguida, inicializamos o resultado como 1, pois 0! = 1 e qualquer produto acumulado deve começar em 1.

Passo 3

Usamos um laço for que vai de 1 até n. A cada iteração, multiplicamos o acumulador pelo índice do laço, construindo o produto 1 \times 2 \times \cdots \times n.

Passo 4

Por fim, retornamos o valor acumulado como saída da função. Se n não for um inteiro não-negativo, geramos um erro.

Resposta

function res = fatorial(n)
 // Verifica se n é inteiro não-negativo
 if n <> floor(n) | n < 0 then
 error("fatorial: n deve ser um inteiro não-negativo")
 end

 // Inicializa o acumulador
 res \(=1\);

 // Loop de 1 até n para calcular o produto
 for i \(=1\):n
 res = res * i;
 end

endfunction

Exercícios relacionados