Um programa concebido está representado na forma de uma pse...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: Alternativa correta é a B - 1.
Vamos entender por que a alternativa B está correta e analisar as outras opções.
Este exercício testa sua habilidade em interpretar pseudocódigo e simular a execução de um algoritmo. É essencial compreender estruturas de controle como a estrutura de repetição "Para" e a estrutura condicional "Se...Senão".
Vamos analisar o pseudocódigo passo a passo:
Início Inteiro: x, y, z, i; x ← 2; y ← 3; z ← 0; Para i de 1 até 5 faça Se (x > y) Então y ← y + 1; x ← x - 1; Senão x ← x + 1; y ← y - 1; Fim Se z ← z + x - y; Fim Para Imprima z; Fim.
Passo a Passo:
1. Inicialmente, x = 2, y = 3, z = 0.
2. Vamos iterar de i = 1 até i = 5:
Iteração 1:
x = 2, y = 3 -> x não é maior que y
y ← y - 1 = 2
x ← x + 1 = 3
z ← z + x - y = 0 + 3 - 2 = 1
Iteração 2:
x = 3, y = 2 -> x é maior que y
y ← y + 1 = 3
x ← x - 1 = 2
z ← z + x - y = 1 + 2 - 3 = 0
Iteração 3:
x = 2, y = 3 -> x não é maior que y
y ← y - 1 = 2
x ← x + 1 = 3
z ← z + x - y = 0 + 3 - 2 = 1
Iteração 4:
x = 3, y = 2 -> x é maior que y
y ← y + 1 = 3
x ← x - 1 = 2
z ← z + x - y = 1 + 2 - 3 = 0
Iteração 5:
x = 2, y = 3 -> x não é maior que y
y ← y - 1 = 2
x ← x + 1 = 3
z ← z + x - y = 0 + 3 - 2 = 1
Ao final do loop, z = 1. Portanto, a resposta correta é alternativa B - 1.
Explicando as alternativas incorretas:
- A - 0: Esta alternativa seria correta se a soma acumulada em z resultasse em 0, mas na última iteração, z é incrementada para 1.
- C - 2: Esta alternativa não leva em conta as variações de incremento e decremento corretas em z.
- D - 3: O valor 3 não pode ser obtido com as operações descritas.
- E - 5: Similarmente, a soma das operações não chega a 5.
Espero que essa explicação tenha ajudado a entender a lógica do pseudocódigo e por que a alternativa correta é a B. Caso tenha mais dúvidas, sinta-se à vontade para perguntar!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
x, y, z, i
x = 2
y = 3
z = 0
for i in range (5):
if x > y:
y = y + 1
x = x - 1
else:
x = x + 1
y = y - 1
z = z + x - y
print (z)
// laços
1: x = 3; y = 2; z = 1
2: x = 2; y = 3; z = 0
3: x = 3; y = 2; z = 1
4: x = 2; y = 3; z = 0
5: x = 3; y = 2; z = 1
Qualquer erro pf me corrijam, e sucesso galera
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo