Defina uma função no Scilab que dado um número inteiro positivo
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
, retorne o valor de
. 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é
.
Passo 2
Primeiro vamos tratar o caso de entradas inválidas: verificar se
é um inteiro e se é maior ou igual a zero. Em seguida, inicializamos o resultado como 1, pois
e qualquer produto acumulado deve começar em 1.
Passo 3
Usamos um laço for que vai de 1 até
. A cada iteração, multiplicamos o acumulador pelo índice do laço, construindo o produto
.
Passo 4
Por fim, retornamos o valor acumulado como saída da função. Se
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