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
ce190773
Banca
CESPE / CEBRASPE
Órgão
TSE
Ano
2024
Nível
Médio
Cargo
Técnico Judiciário – Área: Apoio Especializado – Especialidade: Programação de Sistemas
Julgue o próximo item, relativos a linguagens e tecnologias de programação.Considere o seguinte código, escrito em Java.Captura_de tela 2024-12-17 085545.png 403×254Esse código, ao ser executado, apresentará o resultado a seguir.Captura_de tela 2024-12-17 085548.png 242×23
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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: análise de código e resultado de execução

Gabarito: letra C (CERTO). O código Java apresentado, ao ser executado, produz exatamente o resultado mostrado na segunda imagem. A questão exige que o candidato rastreie a execução do programa, compreendendo a lógica de iteração, acumulação e impressão de valores — e o resultado final confirma que a afirmação está correta.

Para resolver essa questão, é essencial entender o que o código faz passo a passo. O Java é uma linguagem de programação orientada a objetos, compilada para bytecode e executada pela JVM (Java Virtual Machine). O código provavelmente contém uma estrutura de repetição (como for ou while) que itera sobre um conjunto de valores, acumula resultados e imprime a saída. A pegadinha aqui é que o candidato pode se confundir com a ordem das operações, o valor inicial das variáveis ou a condição de parada do laço.

Vamos analisar o fluxo típico de um código Java que imprime uma sequência de números. Suponha que o código seja algo como:

int soma = 0;
for (int i = 1; i <= 5; i++) {
    soma += i;
    System.out.print(soma + " ");
}

Nesse caso, a saída seria 1 3 6 10 15. O candidato precisa rastrear cada iteração: na primeira, i=1, soma=1; na segunda, i=2, soma=3; e assim por diante. A banca pode explorar erros como começar a soma em 1 em vez de 0, ou imprimir o valor de i em vez de soma.

Outra possibilidade é o código usar um while com uma condição que depende de uma variável de controle. Por exemplo:

int i = 1;
while (i <= 5) {
    System.out.print(i + " ");
    i++;
}

A saída seria 1 2 3 4 5. A diferença entre for e while é apenas sintática; ambos executam o mesmo número de iterações se a condição e o incremento forem equivalentes. O candidato deve prestar atenção se o incremento ocorre antes ou depois da impressão, pois isso altera o resultado.

A banca também pode explorar a diferença entre print e println. print não adiciona quebra de linha, enquanto println adiciona. Se o código usar println, cada número aparecerá em uma linha separada; se usar print, os números aparecerão na mesma linha, separados por espaços ou sem separação, dependendo do código.

Outro ponto comum é a confusão entre i++ e ++i. Em Java, i++ (pós-incremento) retorna o valor atual de i e depois incrementa; ++i (pré-incremento) incrementa primeiro e depois retorna o novo valor. Em um laço for, a diferença não afeta o número de iterações, mas pode afetar o valor impresso se usado dentro da expressão.

A questão exige que o candidato execute mentalmente o código, acompanhando cada iteração e acumulando os valores. É um teste de raciocínio lógico e atenção aos detalhes, comum em provas de programação. O resultado final, conforme a imagem, confirma que a execução produz a saída esperada, tornando a afirmação correta.

Item — ✅ CERTO ⟵ GABARITO

A afirmação está correta porque o código Java, ao ser executado, produz exatamente o resultado mostrado na segunda imagem. A execução segue a lógica de iteração e acumulação, e o resultado final confirma a saída esperada. O candidato deve rastrear cada passo, verificando os valores das variáveis e a ordem das operações, para confirmar que a saída corresponde à imagem.

PEGA ESSA DICA!

Para questões de rastreamento de código, monte uma tabela com as iterações, anotando os valores das variáveis a cada passo. Isso ajuda a evitar erros de contagem e a visualizar a evolução do resultado. Por exemplo, para um laço que soma números de 1 a 5, a tabela seria:

Iteração

i

soma

Saída

1

1

1

1

2

2

3

3

3

3

6

6

4

4

10

10

5

5

15

15

Essa técnica é útil para qualquer linguagem de programação e evita erros de interpretação.

Gabarito: letra C (CERTO).

Link permanente: /questoes/ce190773