Informática, perguntado por norbertotadashi, 1 ano atrás

Para calcular o fatorial de um número inteiro e não negativo, podem ser criadas várias rotinas, nos mais diversos paradigmas de programação. Os dois códigos a seguir foram, ambos, escritos para calcular o fatorial (N!) de um número N.

fat 0 = 1 fat = 1;
fat N | N > 0 = N*fat(N-1) for
j:=1 to N
fat := Fat*j;

Qual dos dois tem a possibilidade de ser de uma linguagem Funcional? Assinale a alternativa correta:
Os dois, por apresentarem elementos de uma função.
O segundo, porque executa, explicitamente, um algoritmo.
O primeiro, porque trata o cálculo como a execução de uma função matemática.
O segundo, porque apresenta um pseudocódigo mais moderno.
Nenhum dos dois, pois não declaram, explicitamente, as variáveis envolvidas.

Soluções para a tarefa

Respondido por christiancampos01
5

Resposta:

O primeiro, porque trata o cálculo como a execução de uma função matemática.

Explicação:

É a implementação em uma linguagem Funcional (no caso, Haskell), tratando, justamente, a solução como a execução de uma função matemática, e de modo recursivo. Sua implementação se baseia, explicitamente, no formato de uma função matemática, o que caracteriza o Paradigma Funcional.

Perguntas interessantes