Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — Avança SP 2024

ProgramaçãoLinguagens de programação
Código
qg085781
Banca
Avança SP
Órgão
Prefeitura de Caçapava - SP
Ano
2024
Nível
Médio
Cargo
Técnico em Informática
Sobre a sintaxe do PHP, qual estrutura de controle é adequada para executar um bloco de código repetidas vezes, baseado em uma condição de contagem?
  1. Awhile
  2. Bdo...while
  3. Cfor
  4. Dforeach
  5. Eif
Revelar gabarito e comentário

GabaritoC — for

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Estruturas de repetição em PHP

Gabarito: letra C. A estrutura for é a mais adequada para executar um bloco de código repetidas vezes com base em uma condição de contagem, pois ela concentra em uma única linha a inicialização da variável de controle, a condição de parada e o incremento/decremento. As demais estruturas de repetição (while, do...while) também repetem blocos, mas são baseadas em condições lógicas gerais, não especificamente em contagem; foreach itera sobre coleções e if é uma estrutura de seleção, não de repetição.

As estruturas de repetição (também chamadas de laços ou loops) são fundamentais em qualquer linguagem de programação, pois permitem executar um bloco de código várias vezes sem precisar escrevê-lo manualmente. Elas se dividem em dois grandes grupos: as condicionais, que repetem enquanto uma condição lógica for verdadeira, e as incondicionais (ou com variável de controle), que repetem por um número determinado de vezes. O for pertence ao segundo grupo: ele é projetado exatamente para situações em que se sabe (ou se pode calcular) quantas repetições serão necessárias, usando uma variável contadora.

A sintaxe do for em PHP é:

for (inicialização; condição; incremento) {
    // bloco de código
}
  • Inicialização: executa uma vez, antes do laço (ex.: $i = 1).

  • Condição: verificada antes de cada iteração; se verdadeira, o bloco executa (ex.: $i <= 10).

  • Incremento: executado ao final de cada iteração (ex.: $i++).

Por exemplo, para imprimir os números de 1 a 5:

for ($i = 1; $i <= 5; $i++) {
    echo $i;
}

Aqui, a "condição de contagem" é clara: a variável $i começa em 1, vai até 5 e é incrementada a cada volta. É exatamente esse o cenário descrito no enunciado.

As outras estruturas de repetição têm propósitos diferentes:

  • while: repete enquanto uma condição for verdadeira, mas a condição pode ser qualquer expressão lógica, não necessariamente uma contagem. Ex.: while ($senha != "correta").

  • do...while: igual ao while, mas garante que o bloco execute ao menos uma vez, pois a condição é verificada no final.

  • foreach: itera sobre os elementos de um array ou objeto, sem controle explícito de contagem.

  • if: não é uma estrutura de repetição; é uma estrutura de seleção (condicional), que executa um bloco apenas uma vez se a condição for verdadeira.

A pegadinha desta questão está em distinguir o for (repetição com contagem) do while/do...while (repetição condicional). O enunciado usa a expressão "condição de contagem", que é a característica definidora do for. Guarde essa fronteira: for = contagem; while/do...while = condição lógica; foreach = coleção; if = seleção.

Estruturas de repetição em PHP
  • 1Com contagem
    • for
      • inicialização
      • condição
      • incremento
  • 2Condicionais
    • while
      • condição lógica geral
    • do...while
      • executa ao menos uma vez
  • 3Sobre coleções
    • foreach
      • arrays e objetos
  • 4Seleção (não repete)
    • if
      • executa uma única vez
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O while repete um bloco enquanto uma condição for verdadeira, mas essa condição não é necessariamente de contagem. Ele é mais adequado para situações em que não se sabe quantas repetições serão necessárias, como aguardar uma entrada do usuário. Embora seja possível usar while com um contador, o for é a estrutura projetada especificamente para isso.

Alternativa B — ❌ Incorreta

O do...while é uma variação do while que garante a execução do bloco ao menos uma vez, pois a condição é verificada no final. Assim como o while, ele é baseado em uma condição lógica geral, não em contagem. A diferença crucial é que o bloco sempre executa pelo menos uma vez, o que não é o foco do enunciado.

Alternativa C — ✅ Correta ⟵ GABARITO

O for é a estrutura de repetição com variável de controle, ideal para executar um bloco um número determinado de vezes. Sua sintaxe concentra inicialização, condição e incremento, tornando-a a escolha natural para "condição de contagem". É a resposta correta.

Alternativa D — ❌ Incorreta

O foreach itera sobre os elementos de uma coleção (array ou objeto), sem controle explícito de contagem. Ele é usado para percorrer todos os elementos de uma estrutura de dados, não para repetir um bloco com base em um contador.

Alternativa E — ❌ Incorreta

O if é uma estrutura de seleção (condicional), não de repetição. Ele executa um bloco de código apenas uma vez, se a condição for verdadeira. Não há laço, iteração ou contagem envolvidos.

Gabarito: letra C

Link permanente: /questoes/qg085781