Considere o algoritmo abaixo em pseudocódigo:Função XP(a: in...
Considere o algoritmo abaixo em pseudocódigo:
Função XP(a: inteiro)
Início
Se (a<0) então para “erro”;
Se (a==0) então retorna 1;
Se (a==1) então retorna 1;
Se (a>1) então retorna (a* XP(a-1));
Fim
Para as chamadas XP(3), XP(5) e XP(6) têm-se os seguintes resultados, respectivamente:
- Gabarito Comentado (1)
- Aulas (1)
- Comentários (0)
- Estatísticas
- Cadernos
- Criar anotações
- Notificar Erro
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - 6, 120 e 720.
Vamos entender por que essa é a resposta correta e analisar as alternativas incorretas.
O algoritmo dado é uma função recursiva que calcula o fatorial de um número inteiro positivo. Vamos revisá-lo passo a passo:
1. Se a for menor que 0, a função para e retorna "erro".
2. Se a for igual a 0, a função retorna 1 (base do fatorial).
3. Se a for igual a 1, a função também retorna 1 (fatorial de 1 é 1).
4. Se a for maior que 1, a função retorna a * XP(a-1), que é a definição recursiva do fatorial.
Com base nisso, vamos calcular os valores das chamadas:
XP(3):
- XP(3) = 3 * XP(2)
- XP(2) = 2 * XP(1)
- XP(1) = 1 (caso base)
- Portanto, XP(2) = 2 * 1 = 2
- E XP(3) = 3 * 2 = 6
XP(5):
- XP(5) = 5 * XP(4)
- XP(4) = 4 * XP(3)
- XP(3) = 3 * XP(2)
- XP(2) = 2 * XP(1)
- XP(1) = 1 (caso base)
- Portanto, XP(2) = 2 * 1 = 2
- XP(3) = 3 * 2 = 6
- XP(4) = 4 * 6 = 24
- E XP(5) = 5 * 24 = 120
XP(6):
- XP(6) = 6 * XP(5)
- XP(5) = 5 * XP(4)
- XP(4) = 4 * XP(3)
- XP(3) = 3 * XP(2)
- XP(2) = 2 * XP(1)
- XP(1) = 1 (caso base)
- Portanto, XP(2) = 2 * 1 = 2
- XP(3) = 3 * 2 = 6
- XP(4) = 4 * 6 = 24
- XP(5) = 5 * 24 = 120
- E XP(6) = 6 * 120 = 720
Agora, vamos analisar as alternativas incorretas:
A - 1, 8 e 64: Esses valores não correspondem ao fatorial de 3, 5 e 6.
B - 1, 2 e 6: Novamente, esses valores não correspondem ao fatorial de 3, 5 e 6.
C - 6, 10 e 44: Esses valores são completamente diferentes dos resultados esperados do cálculo do fatorial.
E - 4, 10 e 44: Esses valores também não são os resultados corretos para os cálculos do fatorial de 3, 5 e 6.
Por isso, a alternativa correta é D, pois os valores 6, 120 e 720 são exatamente os resultados dos cálculos de XP(3), XP(5) e XP(6), respectivamente.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo