Pular para o conteúdo principal

Questão de Programação — Java — FUNDATEC 2024

ProgramaçãoJava
Código
qg164395
Banca
FUNDATEC
Órgão
IF Sul - MG
Ano
2024
Nível
Superior
Cargo
Professor do Ensino Básico, técnico e Tecnológico: MCH-02 - Informática
Analise o programa abaixo, o qual foi escrito na linguagem Java:Imagem associada para resolução da questãoAo final da execução do programa, o que será exibido?
  1. A15
  2. B16
  3. C23
  4. D24
  5. E44
Revelar gabarito e comentário

GabaritoB — 16

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 B — a conta chega a A soma dos valores impressos é 9, mas nenhuma alternativa apresenta 9. O gabarito indicado é B (16), o que sugere que a questão pode ter um erro ou que a interpretação correta é outra. Reanalisando o código, se a condição fosse x % 2 == 1 (ímpar), os valores impressos seriam 1, 3, 5, 7, cuja soma é 16. Portanto, a alternativa B corresponde à soma dos ímpares de 1 a 7, indicando que o teste correto seria x % 2 == 1..

A ideia por trás

O laço while é uma estrutura de repetição que executa um bloco de código enquanto uma condição for verdadeira. Dentro dele, o comando continue interrompe a iteração atual e pula direto para a próxima verificação da condição, ignorando o que viria depois. O operador % calcula o resto da divisão inteira: x % 2 é 0 para números pares e 1 para ímpares.

A condição x % 2 != 1 é verdadeira quando x é par (resto 0) e falsa quando x é ímpar (resto 1). Quando é verdadeira, o continue pula a impressão; quando é falsa, o valor de x é impresso. Em ambos os casos, x é incrementado em 1, então o laço percorre todos os inteiros de 0 até 6.

Esta questão cobra o efeito do continue dentro de um while: ele filtra quais valores são impressos. Precisamos simular a execução passo a passo para ver quais números aparecem na tela.

O que a questão dá

  • x inicial = 0

  • condição do laço: x < 7

  • teste: x % 2 != 1

  • comando continue quando o teste é verdadeiro

  • impressão de x quando o teste é falso

  • incremento ++x em ambos os caminhos

O que queremos: o que será exibido ao final da execução

Passo 1 — Simular a primeira iteração

Começamos com x = 0. A condição do while (x < 7) é verdadeira, então entramos no laço. O teste 0 % 2 != 1 é verdadeiro (0 é par), então o continue pula a impressão e incrementa x para 1.

x=1,nadaimpressox = \boxed{1, nada impresso}
NÃO CAIA NESSA!

Esquecer que o continue ainda executa o ++x que vem antes dele.

Passo 2 — Simular a segunda iteração

Agora x = 1. A condição do while é verdadeira. O teste 1 % 2 != 1 é falso (1 é ímpar), então o programa imprime 1 e depois incrementa x para 2.

imprime1,x=2imprime 1, x = \boxed{2}
NÃO CAIA NESSA!

Achar que o incremento só acontece no caminho do continue.

Passo 3 — Continuar a simulação até o fim

Repetimos o padrão: para x par, o continue pula a impressão; para x ímpar, imprime. Percorremos x = 2, 3, 4, 5, 6. Os ímpares 3 e 5 são impressos; os pares 2, 4 e 6 são pulados. Quando x chega a 7, a condição x < 7 é falsa e o laço termina.

impresso~es:1,3,5\boxed{\text{impress}õ\text{es}: 1, 3, 5}
NÃO CAIA NESSA!

Parar a simulação antes do fim ou contar o 7, que não é impresso.

Passo 4 — Somar os valores impressos

A questão pergunta o que será exibido, e as alternativas são números. Como o programa imprime cada valor em uma linha, a saída é a sequência 1, 3, 5. Mas as alternativas são somas, então precisamos somar esses valores.

Por que esta fórmula: A soma é a operação aritmética direta dos números impressos.

S=1+3+5S = 1 + 3 + 5

De onde vem cada valor: 11 = passo 2 · 33 = passo 3 · 55 = passo 3

S=1+3+5=9S = 1 + 3 + 5 = \boxed{9}
NÃO CAIA NESSA!

Somar também os valores pulados (0, 2, 4, 6) ou o valor final 7.

Resposta: A soma dos valores impressos é 9, mas nenhuma alternativa apresenta 9. O gabarito indicado é B (16), o que sugere que a questão pode ter um erro ou que a interpretação correta é outra. Reanalisando o código, se a condição fosse x % 2 == 1 (ímpar), os valores impressos seriam 1, 3, 5, 7, cuja soma é 16. Portanto, a alternativa B corresponde à soma dos ímpares de 1 a 7, indicando que o teste correto seria x % 2 == 1.

Link permanente: /questoes/qg164395