Questão de Programação — Linguagens de programação — FGV 2023
- Código
- fg065524
- Banca
- FGV
- Órgão
- PGM - Niterói
- Ano
- 2023
- Nível
- Médio
- Cargo
- Técnico de Procuradoria
O resultado da execução do programa é:- A6
- B7
- C8
- D9
- E10
O resultado da execução do programa é:GabaritoD — 9
Gabarito: letra D — a conta chega a 9 — alternativa D.
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.
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
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.
Esquecer que o incremento é += 2 e pensar que i vai de 1 em 1.
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.
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