segunda-feira, 12 de julho de 2021

Cálculo recursivo de fatorial usando o Scilab



"Em programação, a recursividade é um mecanismo útil e poderoso que permite a uma função chamar a si mesma direta ou indiretamente, ou seja, uma função é dita recursiva se ela contém pelo menos uma chamada explícita ou implícita a si própria". Nos informa o professor Wellington Lima dos Santos da UFGD/FACET. A função recursiva, em geral, possui pelo menos um caso base, que interrompe a recursividade. O prof. Wellington Santos nos adverte das desvantagens de um algoritmo recursivo: "Por usarem intensivamente a pilha, o que requer alocações e desalocações de memória, os algoritmos recursivos tendem a ser mais lentos que os equivalentes iterativos, porém pode valer a pena sacrificar a eficiência em benefício da clareza. Algoritmos recursivos são mais difíceis de serem depurados durante a fase de desenvolvimento".

Nesta postagem mostraremos um exemplo simples de recursividade no cálculo do fatorial de um número inteiro usando o Scilab. Lembramos que: $$ 0! = 1$$ $$ 1! = 1$$ $$ 2! = 2\times 1 = 2$$ $$ n! = n\times (n-1)!$$

Código: 

clc;  /// limpando a tela

function ff=ffat(x)  /// função fatorial recursiva
    disp(x);   /// mostrando o valor de x
    if x>1 then ff = x*ffat(x-1); /// chamando a função
        else ff=1; end;
endfunction

xx = 7;   /// um valor inicial para xx
fx = ffat(xx);  /// cálculo do fatorial
disp(fx);  /// mostrando o valor calculado.

Nenhum comentário:

Postar um comentário