Questão de Algoritmos e Estrutura de Dados — Algoritmos — CESPE / CEBRASPE 2023
- Código
- ce154657
- Banca
- CESPE / CEBRASPE
- Órgão
- EMPREL
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Sistemas
- A0.
- B1.
- C2.
- D3.
- E4.
GabaritoC — 2.
Gabarito: letra C — o valor impresso será 2, que é o índice do maior elemento do vetor (o valor 3).
O pseudocódigo percorre o vetor x (índices de 0 a 4) e, a cada iteração, compara x[m1] com x[m2]. Se o elemento na posição m2 for estritamente maior, m1 é atualizado para m2. Simulando passo a passo:
Início: m1 = 0 (índice 0, valor 1)
i = 1: m2 = 1, x[0]=1 < x[1]=2 → m1 = 1
i = 2: m2 = 2, x[1]=2 < x[2]=3 → m1 = 2
i = 3: m2 = 3, x[2]=3 < x[3]=2 → falso, m1 permanece 2
i = 4: m2 = 4, x[2]=3 < x[4]=1 → falso, m1 permanece 2
Ao final, m1 = 2, que é exibido.
Retornaria 0 apenas se nenhuma comparação fosse verdadeira (i.e., se o maior já estivesse no índice 0 desde o início ou se o loop não executasse). No vetor dado, o maior valor está no índice 2.
O índice 1 corresponde ao segundo elemento (valor 2), que não é o maior. O algoritmo atualiza para 2 na segunda iteração.
Conforme simulação, m1=2 é o índice do maior valor (3).
O índice 3 teria valor 2, menor que o do índice 2. A comparação x[2] < x[3] é falsa, logo não altera m1.
O índice 4 tem valor 1, o menor do vetor. Nunca seria escolhido.
Em questões de simulação de algoritmo, faça uma tabela com os valores de i, m2, x[m1], x[m2] e a condição. Isso evita erros de contagem e de interpretação do operador < (que só atualiza quando é estritamente maior, mantendo o primeiro maior em caso de empate — aqui não há empate, mas é bom lembrar).
Gabarito: letra C
Link permanente: /questoes/ce154657