Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FGV 2023

ProgramaçãoLinguagens de programação
Código
fg065524
Banca
FGV
Órgão
PGM - Niterói
Ano
2023
Nível
Médio
Cargo
Técnico de Procuradoria
Observe o seguinte programa elaborado na linguagem Java.Imagem associada para resolução da questãoO resultado da execução do programa é:
  1. A6
  2. B7
  3. C8
  4. D9
  5. E10
Revelar gabarito e comentário

GabaritoD — 9

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

Resolução

Gabarito: letra D — a conta chega a 9 — alternativa D.

A ideia por trás

O laço for em Java é uma estrutura de repetição que executa um bloco de código várias vezes. Ele tem três partes: inicialização (roda uma vez), condição (verificada antes de cada repetição) e incremento (executado ao final de cada repetição). A variável de controle i é atualizada a cada volta, e o laço termina quando a condição se torna falsa.

A ordem de execução é: inicialização → condição → corpo → incremento → condição → ... O incremento i += 2 aumenta i em 2 a cada iteração. A condição i <= 10 é testada antes de cada execução do corpo; quando i ultrapassa 10, o laço para. O valor final de i é o primeiro que falha na condição, mas o último valor que entrou no corpo é o maior valor que satisfez a condição.

Esta questão cobra o rastreamento de um laço for com incremento de 2. A pegadinha é que o valor final de i (11) não está nas alternativas, então a resposta é o último valor que foi processado dentro do laço, que é 9.

O que a questão dá

  • laço for: i = 1; i <= 10; i += 2

  • corpo do laço: soma += i (não exibido, mas o valor de i é o que importa)

  • pergunta: valor de i ao final da execução

O que queremos: o valor de i que é o último processado dentro do laço, conforme as alternativas

Passo 1 — Listar os valores que i assume

Para saber quais valores entram no laço, precisamos gerar a sequência de i. O laço começa em 1 e soma 2 a cada volta, então os valores são 1, 3, 5, 7, 9, 11...

Por que esta fórmula: A sequência é uma progressão aritmética com primeiro termo 1 e razão 2. Podemos listar manualmente ou usar a fórmula do termo geral, mas listar é mais direto.

1 ,3,5,7,9,11\boxed{1\ , 3, 5, 7, 9, 11}
NÃO CAIA NESSA!

Esquecer que o incremento é += 2 e pensar que i vai de 1 em 1.

Passo 2 — Ver qual é o último valor que satisfaz a condição

O laço executa enquanto i <= 10. Precisamos identificar o maior valor da sequência que ainda é menor ou igual a 10, pois é esse o último valor que entra no corpo do laço.

Por que esta fórmula: A condição i <= 10 define o limite. Comparando cada valor da sequência: 1, 3, 5, 7, 9 são <= 10, mas 11 não é. Portanto, o último valor válido é 9.

9\boxed{9}
NÃO CAIA NESSA!

Pensar que o valor final de i é 11 e procurar 11 nas alternativas, mas a questão pede o último valor processado.

Resposta: 9 — alternativa D

Link permanente: /questoes/fg065524