Questão nº 54
Questão de Desenvolvimento de Sistemas · FCC TRT24 2016 (nº 54)
Considere o algoritmo em pseudocódigo abaixo.
```
var v1, v2, v3: inteiro
início
leia (v1, v2, v3)
exiba(v1)
enquanto v3>1 faça
v1 ← v1 * v2
v3 ← v3 – 1
exiba(v1)
fim_enquanto
fim
```
Se forem lidos para as variáveis `v1`, `v2` e `v3`, respectivamente, os valores 3, 3 e 4, o último valor exibido será
- A729
- B243
- C27
- D81 (alternativa correta)
- E128
Resposta comentada
Gabarito Alternativa D
Estruturas de repetição, como o laço enquanto (while), permitem que um bloco de código seja executado repetidamente enquanto uma condição específica for verdadeira. A chave é acompanhar a mudança dos valores das variáveis a cada passo e a condição de parada do laço.
- (A) Incorreta: Este valor () seria obtido se o loop executasse mais vezes, o que não acontece com a condição
v3 > 1ev3começando em 4. - (B) Incorreta: Este valor () seria obtido se o loop executasse uma vez a mais. A condição
v3 > 1faz com que o loop pare quandov3atinge 1, não permitindo essa iteração extra. - (C) Incorreta: Este valor (27) é o penúltimo valor exibido. O algoritmo continua a execução do loop e exibe mais um valor antes de terminar.
- (D) Correta: Vamos rastrear a execução:
leia (v1, v2, v3):v1 = 3,v2 = 3,v3 = 4.exiba(v1): Exibe 3.enquanto v3 > 1 faça:- 1ª iteração:
v3é 4 (4 > 1 é verdadeiro).v1 ← v1 * v2=>v1 ← 3 * 3=>v1 = 9.v3 ← v3 – 1=>v3 ← 4 – 1=>v3 = 3.exiba(v1): Exibe 9.
- 2ª iteração:
v3é 3 (3 > 1 é verdadeiro).v1 ← v1 * v2=>v1 ← 9 * 3=>v1 = 27.v3 ← v3 – 1=>v3 ← 3 – 1=>v3 = 2.exiba(v1): Exibe 27.
- 3ª iteração:
v3é 2 (2 > 1 é verdadeiro).v1 ← v1 * v2=>v1 ← 27 * 3=>v1 = 81.v3 ← v3 – 1=>v3 ← 2 – 1=>v3 = 1.exiba(v1): Exibe 81.
- 4ª iteração:
v3é 1 (1 > 1 é falso). O loop termina.
O último valor exibido foi 81. A armadilha aqui pode ser confundir a condiçãov3 > 1comv3 >= 1, o que levaria a uma iteração a mais, ou não prestar atenção que a primeira exibição dev1ocorre antes do loop.
- 1ª iteração:
- (E) Incorreta: Este valor não é uma potência de 3, o que é inconsistente com as operações de multiplicação
v1 * v2ondev1ev2são múltiplos de 3.
Fonte: FCC TRT24 2016 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.