Informática, perguntado por Tacca, 3 meses atrás

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.


Tacca: Verificado no Simulado Estácio e Qconcuesos

Soluções para a tarefa

Respondido por leviicmjf
39

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.

Respondido por henriquec1001
23

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!

Anexos:

filipecd: A RESPOSTA CORRETA É: código deveria ser "return Fatorial(n - 1) * n;" na linha 5.
filipecd: gabarito estácio
isadoragreis440: o código deveria ser "return Fatorial(n - 1) * n;" na linha 5 - RESPOSTA CORRETA
Perguntas interessantes