Gabarito disponível
Considere o seguinte programa, apresentado na forma de uma pseudolinguagem (português estruturado).
Início
Inteiro: p, q, z, i;
p ← 2;
q ← 2*p;
Para i de 1 até 3 passo 1 faça
[
Se p ≠ q
Então
p ← q;
Senão
q ← p + 1;
]
z ← p + q;
Imprima z;
Fim.
O resultado impresso para a variável z ao final desse programa é igual a:
Início
Inteiro: p, q, z, i;
p ← 2;
q ← 2*p;
Para i de 1 até 3 passo 1 faça
[
Se p ≠ q
Então
p ← q;
Senão
q ← p + 1;
]
z ← p + q;
Imprima z;
Fim.
O resultado impresso para a variável z ao final desse programa é igual a:
Resolução comentada
O programa imprime 10.
Inicialmente p=2 e q=4. No 1º ciclo, p≠q, então p=4. No 2º, p=q, então q=p+1=5. No 3º, p≠q, então p=5. Assim z = 5+5 = 10.
Análise das alternativas
A, B, C e E resultam de erros de rastreio da execução. Os valores finais corretos são p=5 e q=5.
Referência: Lógica de programação: teste de mesa.
Resolução comentada do VaiConcursos.