Durante a implementação de um sistema de monitoramento contínuo, utilizou-se uma estrutura de repetição while para verificar constantemente o estado de sensores. A lógica da aplicação exige que o código avalie a condição de parada de forma segura para evitar execuções ininterruptas. O controle adequado da repetição é essencial para garantir a estabilidade e o uso eficiente dos recursos computacionais. Diante do tema, assinale a alternativa que define a aplicação mais adequada do comando while, segundo as boas práticas, quando não há definição explícita de quantas iterações serão feitas:

Questão

Durante a implementação de um sistema de monitoramento contínuo, utilizou-se uma estrutura de repetição while para verificar constantemente o estado de sensores. A lógica da aplicação exige que o código avalie a condição de parada de forma segura para evitar execuções ininterruptas. O controle adequado da repetição é essencial para garantir a estabilidade e o uso eficiente dos recursos computacionais.

Diante do tema, assinale a alternativa que define a aplicação mais adequada do comando while, segundo as boas práticas, quando não há definição explícita de quantas iterações serão feitas:

Alternativas

A) O uso do while é mais eficiente quando se utiliza apenas a constante True e não há nenhuma instrução condicional no bloco do laço.

B) Em situações sem número fixo de repetições, recomenda-se while sem condição definida, seguido de funções com return para saída.

Resposta certa

C) O uso do while deve conter uma condição de parada controlada por variável que pode ser modificada internamente no bloco do laço.

D) Quando o while é usado de forma contínua, é indicado manter sua condição inalterada e controlar o fluxo com continue e pass.

E) A melhor prática para usar while é com uma estrutura break externa ao laço para interromper a execução a partir de outro trecho do código.

Explicação

Em boas práticas, o laço while é indicado quando não se sabe previamente quantas iterações serão necessárias, mas ainda assim é essencial que exista uma condição de parada clara e segura.

A forma mais adequada é:

  1. Definir uma condição booleana (geralmente baseada em uma variável/estado), por exemplo enquanto sensor_ativo ou enquanto nao_recebeu_sinal_de_parada.
  2. Garantir que essa condição possa mudar durante a execução do laço (por evento externo ou por atualização feita no próprio bloco), evitando loop infinito.
  3. Assim, o laço termina naturalmente quando a variável/estado é atualizado (por exemplo, um sensor muda de estado, um timeout é atingido, uma flag é desativada).

Analisando as alternativas:

  • A sugere while True sem controle condicional no bloco: isso favorece execução ininterrupta (má prática).
  • B fala em while “sem condição definida” (isso não existe na sintaxe) e depender só de return: não é a recomendação geral.
  • C descreve exatamente a prática correta: condição de parada controlada por variável/estado que pode ser alterado.
  • D propõe manter condição inalterada e usar continue/pass: não resolve parada e pode mascarar bugs.
  • E sugere “break externo” (não faz sentido: break atua dentro do laço). Até é comum usar break internamente, mas não como “melhor prática” baseada em outro trecho externo.
Carregando…

Questões relacionadas

Ver últimas questões