Questão nº 54

Questão de Desenvolvimento de Sistemas · FCC TRT24 2016 (nº 54)

FCC2016Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoDesenvolvimento de Sistemas
Gabarito: Dver comentário ↓

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á

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 (363^6) seria obtido se o loop executasse mais vezes, o que não acontece com a condição v3 > 1 e v3 começando em 4.
  • (B) Incorreta: Este valor (353^5) seria obtido se o loop executasse uma vez a mais. A condição v3 > 1 faz com que o loop pare quando v3 atinge 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:
    1. leia (v1, v2, v3): v1 = 3, v2 = 3, v3 = 4.
    2. exiba(v1): Exibe 3.
    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ção v3 > 1 com v3 >= 1, o que levaria a uma iteração a mais, ou não prestar atenção que a primeira exibição de v1 ocorre antes do loop.
  • (E) Incorreta: Este valor não é uma potência de 3, o que é inconsistente com as operações de multiplicação v1 * v2 onde v1 e v2 sã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.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho