Quanto às linguagens PHP e Python, à estrutura e às construç...

Próximas questões
Com base no mesmo assunto
Q2509313 Programação
Quanto às linguagens PHP e Python, à estrutura e às construções básicas de um programa e ao controle de fluxo de programas e repetição, julgue o item.
Nas estruturas FOR, o teste da condição somente ocorre no início da estrutura de repetição.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E (Errado)

1. Tema central: O item aborda o funcionamento das estruturas de repetição FOR em linguagens como PHP e Python, questionando se a verificação da condição ocorre apenas no início do laço.

2. Resumo teórico:
Nas estruturas FOR, a execução do bloco de comandos depende de uma condição lógica. Em PHP, a estrutura é: for (inicialização; condição; incremento) { ... }, e em Python: for item in sequência: ....
No PHP, a condição é avaliada antes de cada iteração, não só no início. Em Python, a repetição percorre cada elemento de uma sequência, e o laço termina quando não há mais elementos, o que equivale à avaliação contínua do critério de repetição.

3. Fontes relevantes:
- Manual do PHP
- Documentação Python

4. Justificativa da alternativa correta:
A afirmação está errada porque a condição do FOR é testada a cada ciclo do laço, e não apenas na entrada inicial. O laço só continua enquanto a condição for verdadeira. Por exemplo, em for ($i = 0; $i < 5; $i++), o teste $i < 5 ocorre a cada repetição.

5. Estratégias para interpretação:
Ao encontrar termos como "somente" ou "apenas", fique atento! É comum que questões explorem esses absolutos para criar pegadinhas. Relembre sempre como ocorre o fluxo real de execução das estruturas de repetição.

Resumo: O laço FOR testa sua condição a cada iteração, não apenas no começo. Portanto, a alternativa está ERRADA.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

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

Comentários

Veja os comentários dos nossos alunos

Discordo do gabarito...

A afirmação está correta. Em estruturas de repetição `for`, o teste da condição ocorre apenas no início de cada iteração. O `for` verifica se a condição é verdadeira antes de executar o bloco de código dentro do laço e, se for, o bloco é executado. Caso contrário, o laço é encerrado. Isso é consistente em várias linguagens de programação, como C, Java e Python.

Também discordo do gabarito. Em linguagens baseada em C como o Python, a estrutura "for" é a seguinte "for ([início]; [condição]; [pós execução])" em que o início é executado apenas uma vez, a condição mantém o loop funcionando enquanto retornar "verdadeiro" e a pós execução é executada após cada iteração. No Python, é ligeiramente diferente, mas segue a mesma lógica. Não faz sentido um "for" executar sua estrutura e só então testar a veracidade da condição. Primeiro faz o que não era para fazer, e depois testa se era para fazer?

Segundo o ChatGPT, a afirmativa é verdadeira.

ERRADA

A questão trata do conceito geral dos componentes das Estruturas de Repetição for apontando que na "condição" avalia-se a necessidade ou não do loop. Enquanto essa condição for verdadeira, o loop continua.

Via chat GPT

A afirmativa está errada.

O teste da condição ocorre antes de cada iteração, ou seja, a condição é verificada no início de cada ciclo do loop.

Vamos detalhar a estrutura básica do for para esclarecer:

  1. Inicialização: A primeira parte, onde a variável de controle (geralmente um contador) é inicializada.
  2. Condição: Antes de cada iteração, a condição é verificada. Se for verdadeira, o corpo do loop é executado. Se for falsa, o loop é interrompido.
  3. Incremento: Após a execução do corpo do loop, a variável de controle é incrementada (ou decrementada), e o processo começa novamente com a verificação da condição.

Portanto, o teste da condição é realizado antes de cada iteração e não apenas "no início" do loop.

Errado!

A afirmação não é universalmente verdadeira para todas as linguagens. Depende do tipo de loop:

Python:

  • Não possui for com condição tradicional (como C ou PHP).
  • O for em Python itera sobre iteráveis (for x in lista:), e o conceito de “teste de condição no início” não se aplica diretamente.
  • Para loops com condição, usa-se while, que testa a condição no início.

PHP (e linguagens como C/Java):

  • O for clássico tem condição testada no início de cada iteração, mas o do‑while testa no final.

Conclusão: dizer que “nas estruturas for, o teste ocorre somente no início” é impreciso, pois:

  • Em Python, for não funciona com condição booleana explícita;
  • Em PHP, existem estruturas de repetição (do-while) que testam após a execução.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo