Considere o algoritmo abaixo em pseudocódigo:Função XP(a: in...

Próximas questões
Com base no mesmo assunto
Q2753259 Arquitetura de Software

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:

Alternativas

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