Questão nº 31

Questão de Tecnologia da Informação · FCC PGE-AM 2022 (nº 31)

FCC2022Técnico em Gestão Procuratorial - Especialidade Engenharia de SoftwareTecnologia da Informação
Gabarito: Cver comentário ↓

Considere a classe abaixo.

public class Exemplo1 {
    public static void main(String[] args) {
        int[] v = {4, 10, 2, 7};
        int i, j, x, t, max;
        max = v.length;
        for (i = 0; i <= max - 1; i++) {
            for (j = 0; j <= max - i; j++) {
                if (v[j] > v[j + 1]) {
                    x = v[j];
                    v[j] = v[j + 1];
                    v[j + 1] = x;
                }
            }
        }
    }
}

Ao executar a classe,

Resposta comentada

Gabarito Alternativa C

Quando você trabalha com arrays (listas de elementos de tamanho fixo) em Java, cada posição é acessada por um índice, que começa em 0 e vai até o tamanho do array menos 1. Tentar acessar uma posição fora desse intervalo causa um erro chamado `ArrayIndexOutOfBoundsException`.

(A) Incorreta: O código tenta implementar uma lógica de ordenação (parecida com Bubble Sort), mas possui um erro que impede sua execução completa. É uma armadilha, pois o código parece um algoritmo de ordenação, mas não funciona corretamente.
(B) Incorreta: O código realiza comparações e trocas de elementos, o que é característico de um algoritmo de ordenação, não de busca.
(C) Correta: Ocorre uma `ArrayIndexOutOfBoundsException`. Na primeira iteração do laço externo (`i = 0`), o laço interno (`j`) vai de 0 até `max - i`, ou seja, de 0 até 4 (já que `max` é 4). Quando `j` atinge o valor 3, a condição `if (v[j] > v[j + 1])` tenta acessar `v[3 + 1]`, que é `v[4]`. Como o array `v` tem 4 elementos (índices válidos de 0 a 3), a posição 4 não existe, gerando a exceção.
(D) Incorreta: Assim como na alternativa A, o código não chegará a ordenar o array devido à exceção.
(E) Incorreta: Iniciar `j` em 0 é correto para acessar o primeiro elemento do array (`v[0]`). O problema não é o início de `j`, mas sim o seu limite superior combinado com o acesso a `v[j + 1]`.

Fonte: FCC PGE-AM 2022 Técnico em Gestão Procuratorial - Especialidade Engenharia de Software (Caderno Tipo 001). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho