Questão nº 31

Questão de Programação · FCC TRT6 2025 (nº 31)

FCC2025Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoProgramação
Gabarito: Ever comentário ↓

O algoritmo abaixo, na forma de pseudocódigo, simula um sistema de busca e atualização do status de processos judiciais em um Tribunal Regional do Trabalho, em que o usuário indica um id de processo a ser localizado. Considere que o algoritmo foi criado para ser posteriormente implementado em Java e que o usuário poderá digitar um id existente ou inexistente, mas que será sempre um valor do tipo inteiro.

Algoritmo Tribunal

Função Busca(ids: Vetor[Inteiro], idProcurado: Inteiro): Inteiro

    Para I faça
        Se ids[i] == idProcurado então
            Retorne i
        FimSe
    FimPara
    Retorne -1

FimFunção

Início
    ids: Vetor[Inteiro] <- (1, 2, 3)
    status: Vetor[Cadeia] <- ("Em andamento", "Em análise", "Concluído")

    Escreva("Digite o ID do processo a ser buscado: ")
    Leia(idProcurado)

    indice: Inteiro <- Busca(ids, idProcurado)

    Se II então
        Escreva("Processo com ID ", idProcurado, " encontrado no índice ", indice, " com status ", status[indice])
        status[indice] <- "Finalizado"
        Escreva("Status do processo atualizado para: ", status[indice])
    Senão
        Escreva("Processo não encontrado.")
    FimSe
Fim

Em condições ideais e considerando a existência de um método tamanho que retorna o tamanho do array, para que a busca seja executada corretamente e o processo procurado seja atualizado para Finalizado, as lacunas I e II devem ser preenchidas por

Resposta comentada

Gabarito Alternativa E

A busca em um vetor (também conhecido como array) geralmente envolve percorrer seus elementos usando um índice. Em muitas linguagens de programação, como Java, os vetores são 0-indexados, o que significa que o primeiro elemento está no índice 0 e o último no índice tamanho_do_vetor - 1.

  • (A) Incorreta: A parte i de 0 até tamanho(ids) está errada. Se o vetor tem 3 elementos (índices 0, 1, 2), tamanho(ids) é 3. O loop tentaria acessar ids[3], o que causaria um erro de "índice fora dos limites" (ArrayIndexOutOfBoundsException), pois o último índice válido é tamanho(ids) - 1. Esta é uma armadilha comum para iniciantes que esquecem a indexação baseada em zero.
  • (B) Incorreta: A parte i de 0 até tamanho(ids) está errada pelo mesmo motivo da alternativa A. Além disso, indice != 1 é uma condição incorreta para verificar se o processo foi encontrado; o processo pode ser encontrado em outros índices (como 0 ou 2), e essa condição falharia.
  • (C) Incorreta: A parte indice == -1 está errada. A função Busca retorna -1 quando o processo não é encontrado. Para que o bloco Se execute quando o processo é encontrado, a condição deveria ser o oposto, ou seja, indice != -1.
  • (D) Incorreta: A parte indice == idProcurado está errada. indice é a posição do elemento no vetor (ex: 0, 1, 2), enquanto idProcurado é o valor que estamos buscando (ex: 1, 2, 3). Comparar a posição com o valor não faz sentido para determinar se o processo foi encontrado.
  • (E) Correta: A parte i de 0 até tamanho(ids) - 1 está correta para percorrer um vetor 0-indexado de forma segura, acessando todos os elementos válidos. A parte indice != -1 está correta porque a função Busca retorna -1 se o processo não for encontrado; portanto, se indice for diferente de -1, significa que um índice válido foi retornado e o processo foi localizado.

Fonte: FCC TRT6 2025 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 005). 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