Sobre as estruturas de controle de repetição utilizadas em ...

Próximas questões
Com base no mesmo assunto
Q4036208 Algoritmos e Estrutura de Dados

Sobre as estruturas de controle de repetição utilizadas em algoritmos, analise as assertivas abaixo e julgue-as em Verdadeiras (V) ou Falsas (F): 


(  ) No tipo de laço Enquanto (While), a condição é verificada antes da execução do bloco de comandos, ou seja, não há necessidade obrigatória de o laço ser executado pelo menos uma vez.


(  ) No tipo de laço Repita...Até, a condição é verificada depois da execução do bloco de comandos, ou seja, há necessidade obrigatória de o laço ser executado pelo menos uma vez.


(  ) No tipo de laço Para (For), o número de repetições é indefinido, sendo recomendado utilizá-lo quando não se sabe quantas vezes o bloco de comandos deve ser executado.


(  ) Nos tipos de laços Enquanto (While) e Repita...Até, o controle ocorre internamente ao laço e eles apresentam baixo risco de ocorrer loop infinito quando comparado ao laço For.


Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: D

Fundamento decisivo: O decisivo era identificar o momento do teste e o uso típico de cada laço: While é de pré-teste, Repita...Até é de pós-teste e For é de repetição contada. Isso conduz à sequência V-V-F-F e, portanto, à alternativa D.

Tema central: Laços de repetição
Análise das alternativas
A
Errada
Incorreta porque marca a 2ª assertiva como falsa e a 3ª como verdadeira. Isso contraria o critério técnico: Repita...Até faz o teste depois do bloco e, por isso, executa ao menos uma vez; já o For é tipicamente usado quando o número de iterações é conhecido ou determinável previamente, não como modelo recomendado para repetição indefinida.
B
Errada
Incorreta porque trata a 1ª assertiva como falsa e a 4ª como verdadeira. O erro da 1ª é negar que o While seja laço de pré-teste, quando a condição é verificada antes da execução do bloco. O erro da 4ª é aceitar uma generalização não sustentada: While e Repita...Até não têm, por si, menor risco de loop infinito que For.
C
Errada
Incorreta porque considera verdadeira a 3ª assertiva. O confronto decisivo é com o uso típico do For: ele é laço de contagem, ligado a repetição definida ou previamente controlada, e não o recomendado para número indefinido de repetições.
D
Certa
A alternativa D está certa porque corresponde à sequência V-V-F-F. A 1ª assertiva é verdadeira, pois no While a condição é verificada antes do bloco, de modo que o laço pode executar zero vezes. A 2ª também é verdadeira, porque no Repita...Até o teste ocorre após o bloco, o que impõe pelo menos uma execução. A 3ª é falsa, já que o For é associado ao uso típico de repetição contada ou previamente controlada, não à repetição indefinida como regra recomendada. A 4ª é falsa porque a generalização sobre menor risco de loop infinito não se sustenta; esse risco depende da construção da condição de parada e da atualização do controle.
E
Errada
Incorreta porque inverte exatamente o núcleo conceitual da questão. As duas primeiras assertivas descrevem corretamente While e Repita...Até, enquanto a 3ª erra ao atribuir ao For uso típico em repetição indefinida e a 4ª erra ao generalizar sobre menor risco de loop infinito.
Pegadinha da questão
A questão explora três confusões reais: trocar pré-teste por pós-teste entre While e Repita...Até, associar For a repetição indefinida só porque ele também tem condição, e aceitar como regra geral que While/Repita...Até seriam mais seguros que For contra loop infinito.
Dica para questões semelhantes
  • Identifique primeiro o momento do teste: antes do bloco indica pré-teste; depois do bloco indica pós-teste.
  • Quando a estrutura garante ao menos uma execução, ela não pode ser classificada como laço que talvez execute zero vezes.
  • Para julgar afirmações sobre For, use o critério de uso típico: repetição contada ou previamente controlada.
  • Afirmações gerais sobre risco de loop infinito devem ser confrontadas com a lógica de parada e atualização, não com o nome do laço.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo