Quanto às linguagens PHP e Python, à estrutura e às construç...
Nas estruturas FOR, o teste da condição somente ocorre no início da estrutura de repetição.
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:
- Inicialização: A primeira parte, onde a variável de controle (geralmente um contador) é inicializada.
- 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.
- 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