Raciocínio Lógico Múltipla Escolha

Em que ocasião podemos substituir a while por uma for?

Em que ocasião podemos substituir a while por uma for?

  1. Somente quando se sabe quantas vezes a estrutura de repetição será executada.
  2. Sempre é possível substituir uma estrutura while por uma for.
  3. Nunca podemos substituir uma estrutura while por uma for.
  4. Somente quando a while estiver efetutando operações aritméticas.
  5. Somente quando não for preciso inicializar a variável de controle.

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A - Somente quando se sabe quantas vezes a estrutura de repetição será executada.

Introdução à Lógica de Repetição

Para responder a essa questão, é fundamental compreender a diferença conceitual entre os laços de repetição while e for, especialmente na programação estruturada (como C, Java ou Python).

  • Laço while: É utilizado para repetição indefinida. Ele executa um bloco de código enquanto uma condição lógica for verdadeira. Não exige necessariamente um contador fixo.
  • Laço for: É utilizado para repetição definida (contada). Ele geralmente possui três partes claras: inicialização, teste de condição e atualização da variável de controle.

Por que a alternativa A é correta?

A substituição de uma estrutura while por uma for só é ideal e direta quando existe um padrão de contagem previsível.

Se você sabe exatamente quantas vezes o código deve rodar (ou pode determinar isso através de um contador), a estrutura for torna-se mais adequada e legível.

\text{Exemplo}

Com while (Contagem conhecida):

int i = 0;
while (i < 10) {
    printf("%d\n", i);
    i++;
}

Substituindo por for:

for (int i = 0; i < 10; i++) {
    printf("%d\n", i);
}

Neste caso, sabemos que o laço roda 10 vezes. A estrutura for encapsula a inicialização, o teste e o incremento em uma única linha. Se não soubéssemos o número de execuções (ex: esperar pelo usuário digitar "fim"), manteríamos o while.

Análise das outras alternativas

  • B. Sempre é possível... : Embora seja tecnicamente possível escrever um for infinito (for(;;)), nem toda lógica de while se traduz bem em for. Laços condicionais complexos (baseados em eventos externos, como leitura de arquivo até o fim) não possuem um contador natural para o for.
  • C. Nunca podemos... : Incorreto. Como mostrado no exemplo acima, muitas vezes podemos converter um while em for com sucesso.
  • D. Somente quando... operações aritméticas : O tipo de operação (aritmética, lógica, etc.) dentro do laço não define qual estrutura usar. O que define é o controle do fluxo de execução.
  • E. Somente quando não for preciso inicializar... : Pelo contrário, a estrutura for frequentemente requer a inicialização da variável de controle na própria declaração do laço, o que é uma característica central dela.

Conclusão

A escolha entre while e for depende do conhecimento prévio da quantidade de iterações. Portanto, a substituição é válida principalmente quando temos certeza sobre quantas vezes a estrutura será executada.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Raciocínio Lógico

Ver mais Raciocínio Lógico resolvidas

Tem outra questão de Raciocínio Lógico?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.