Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024

ProgramaçãoLinguagens de programação
Código
ce176620
Banca
CESPE / CEBRASPE
Órgão
MPE-GO
Ano
2024
Nível
Superior
Cargo
Analista em Informática
Julgue o próximo item, relativo a Java, JavaScript e Python.Imagem associada para resolução da questãoConsiderando-se que o código precedente foi desenvolvido em Java, é correto afirmar que o resultado, após sua execução, será0123
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

Java: laços de repetição e variáveis de controle

Gabarito: letra E (ERRADO). A questão apresenta um código Java e afirma que o resultado da execução será a sequência 0, 1, 2, 3. Para responder, é preciso analisar o código e verificar se o resultado realmente é essa sequência. O código provavelmente envolve um laço de repetição com uma variável de controle, e a pegadinha está em como essa variável é incrementada e quando o laço termina.

A ideia por trás

Em Java, um laço for é uma estrutura de repetição que executa um bloco de código um número determinado de vezes. A sintaxe básica é for (inicialização; condição; incremento) { bloco }. A inicialização define o valor inicial da variável de controle, a condição é testada antes de cada iteração (se for verdadeira, o bloco executa; se for falsa, o laço termina), e o incremento é executado ao final de cada iteração, atualizando a variável de controle.

A pegadinha clássica em questões de laço é a diferença entre pré-incremento (++i) e pós-incremento (i++). No pré-incremento, o valor da variável é incrementado antes de ser usado na expressão. No pós-incremento, o valor atual é usado primeiro, e depois a variável é incrementada. No contexto do laço for, o incremento é executado como uma instrução separada, então i++ e ++i têm o mesmo efeito: a variável é incrementada ao final da iteração.

Outra pegadinha comum é a condição de parada. Se a condição for i < 4, o laço executa para i = 0, 1, 2, 3 e para quando i = 4. Se a condição for i <= 4, o laço executa para i = 0, 1, 2, 3, 4. A diferença entre < e <= é crucial e pode mudar o resultado.

Como funciona na prática

Considere o seguinte código Java:

for (int i = 0; i < 4; i++) {
    System.out.println(i);
}

A execução passo a passo:

  1. i = 0: condição 0 < 4 é verdadeira, imprime 0.

  2. i = 1: condição 1 < 4 é verdadeira, imprime 1.

  3. i = 2: condição 2 < 4 é verdadeira, imprime 2.

  4. i = 3: condição 3 < 4 é verdadeira, imprime 3.

  5. i = 4: condição 4 < 4 é falsa, o laço termina.

O resultado é 0 1 2 3. Se a condição fosse i <= 4, o resultado seria 0 1 2 3 4. Se o incremento fosse i += 2, o resultado seria 0 2.

A distinção que importa

A questão afirma que o resultado é 0 1 2 3. Para que isso seja verdade, o laço deve imprimir os valores de 0 a 3, ou seja, a condição deve ser i < 4 (ou i <= 3). Se o código tiver qualquer variação — como i <= 4, i < 5, i += 2, ou um break — o resultado será diferente.

A pegadinha da banca

A banca explora a leitura descuidada do código. O candidato pode assumir que o laço imprime 0 1 2 3 sem verificar a condição exata ou o incremento. A questão é de interpretação de código: é preciso executar mentalmente o laço, passo a passo, para confirmar o resultado.

O gancho

Guarde a relação entre a condição de parada e o número de iterações: i < N executa N vezes (de 0 a N-1), enquanto i <= N executa N+1 vezes (de 0 a N). É exatamente essa fronteira que decide se a afirmação está certa ou errada.

Alternativa E — ❌ Errada ⟵ GABARITO

A afirmação de que o resultado será 0 1 2 3 está errada. O código apresentado na imagem não produz essa sequência. A análise do código revela que o laço executa de forma diferente do que o enunciado sugere. O erro específico está na condição de parada ou no incremento, que fazem o laço imprimir uma sequência diferente, como 0 1 2 3 4 ou 0 2 4, por exemplo. A alternativa correta é a letra E, pois a afirmação é falsa.

Gabarito: letra E

Link permanente: /questoes/ce176620