O trecho de código Python é uma função recursiva para o cálculo do fatorial de um número natural qualquer. Entretanto, apresenta um erro de programação.
1. def Fatorial ( n) :
2. if (n==1) or (n == 0):
3. return 1
4. else:
5. return n (n - 1) * (n - 2) * (n - 3) * (n - 4) * (n - 5):
Em qual linha está o erro e como consertá-lo para que a função cumpra corretamente o seu propósito?
Alternativas
A
o código deveria ser “if (n == 1):” na linha 2.
B
o código deveria ser “return 0” na linha 3.
C
o código deveria ser “if (n == 1) and (n == 0):” na linha 2.
D
o código deveria ser “return Fatorial(n - 1) * n;” na linha 5.
E
o código deveria ser “return Fatorial(n) * n -1;” na linha 5.
Respostas
Resposta:
o código deveria ser “return Fatorial(n - 1) * n;” na linha 5.
Explicação:
o código deveria ser “return Fatorial(n - 1) * n;” na linha 5.
Erro de programação: função recursiva
O erro desse código de programação está na linha 5 é para consertar o mesmo deve-se colocar “return Fatorial(n) * n -1;” na linha 5. O que é mostrado na alternativa E.
A função recursiva, em síntese, é um a função que chama ela própria, esse conceito é basicamente o que um número fatorial faz, visto que no fatorial realiza-se o o produto de todos os inteiros positivos menores ou iguais a "n", em que "n" é um número natural.
Quando se tira uma unidade de "n" se está justando multiplicado pelo número anterior, o que vai se repetindo até chegar em "1", visto que é um função recursiva.
Reescrevendo corretamente esse código, tem-se:
1. def Fatorial ( n) :
2. if (n==1) or (n == 0):
3. return 1
4. else:
5. return Fatorial(n) * n -1;
Saiba mais sobre linguagem de programação em:
https://brainly.com.br/tarefa/20790680
Bons estudos!