Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — CIS-AMAVI 2025

Algoritmos e Estrutura de DadosAlgoritmos
Código
qg431306
Banca
CIS-AMAVI
Órgão
CIS-AMAVI
Ano
2025
Nível
Superior
Cargo
Analista Técnico I - Analista de Sistemas II
No estudo de Algoritmos, tanto o comando ENQUANTO, como o comando PARA são estruturas de repetição. Assim, observe o trecho do algoritmo a seguir:valor = 1Enquanto valor < 20 façaIníciovalor = valor + 1escreva (valor)Fim;A codificação que gera o mesmo resultado da estrutura acima e que utiliza a estrutura PARA, corresponde à seguinte opção:
  1. Apara valor de 1 até 19 faça escreva (valor).
  2. Bpara valor de 1 até 20 façaescreva (valor).
  3. Cpara valor de 0 até 20 façaescreva (valor).
  4. Dpara valor de 2 até 20 façaescreva (valor).
  5. Epara valor de 2 até 19 façaescreva (valor).
Revelar gabarito e comentário

GabaritoD — para valor de 2 até 20 faça escreva (valor).

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Estruturas de repetição: ENQUANTO vs PARA

Gabarito: letra D. O loop ENQUANTO apresentado escreve os valores de 2 a 20 (inclusive), porque a variável valor é inicializada em 1, a condição é valor < 20, e dentro do bloco primeiro incrementa e depois escreve. A estrutura PARA equivalente deve percorrer exatamente os mesmos valores: de 2 até 20.

A banca testa a capacidade de simular mentalmente a execução de um laço condicional e traduzi-lo para um laço com contador. A chave é perceber que o primeiro valor escrito é 2 (após o incremento) e o último é 20 (quando valor torna-se 20 e ainda atende à condição na iteração anterior).

Alternativa A — ❌ Incorreta

Esta opção escreveria os valores de 1 a 19, pois o comando para valor de 1 até 19 executa o corpo para cada valor nesse intervalo. O loop original escreve de 2 a 20, portanto há diferença tanto no início (1 em vez de 2) quanto no fim (19 em vez de 20).

Alternativa B — ❌ Incorreta

Escreveria de 1 a 20. Inclui o valor 1, que nunca é escrito no loop original (pois o primeiro incremento já transforma 1 em 2 antes da escrita). O restante (2 a 20) está correto, mas a inclusão do 1 torna o resultado diferente.

Alternativa C — ❌ Incorreta

Escreveria de 0 a 20, incluindo valores que não aparecem no loop original (0 e 1). Além disso, também incluiria o 20, mas o resultado é muito mais abrangente.

Alternativa D — ✅ Correta ⟵ GABARITO

O comando para valor de 2 até 20 faça escreva (valor) produz exatamente a mesma sequência do loop ENQUANTO: 2, 3, 4, ..., 20. O início em 2 corresponde ao primeiro incremento, e o limite 20 corresponde ao último valor escrito quando valor se torna 20 e a condição valor < 20 ainda era verdadeira na iteração anterior.

Alternativa E — ❌ Incorreta

Escreveria de 2 a 19, faltando o valor 20. O loop original escreve 20 quando valor se torna 20 (a condição ainda é verdadeira na 19ª iteração, já que 19 < 20). Portanto, o limite superior deve ser 20, não 19.

Simulação resumida do loop original:

Iteração

valor (antes do incremento)

valor (após incremento)

escrito

1

1

2

2

2

2

3

3

...

...

...

...

19

19

20

20

20

20

(não executa, condição falsa)

-

Gabarito: letra D.

Link permanente: /questoes/qg431306