Gabarito disponível
Considere o algoritmo abaixo:
Algoritmo Exemplo
Var v: vetor [0..7]: inteiro
Var n, p, u, a: inteiro
Início
Para p de 0 até 7 passo 1 faça
leia (n)
v[p] ← n
Fim_para
p ← 0
u ← 8
Enquanto (u < > 2) faça
Enquanto (p < > (u-1)) faça
Se (v[p] > v[p+1]) então
a ← v[p]
v[p] ← v[p+1]
v[p+1] ← a
Fim_se
p ← p + 1
Fim_enquanto
p ← 0
u ← u - 1
Fim_enquanto
Fim
Caso v receba os valores 15, 25, 4, 10, 54, 32, 29 e 44, nessa ordem, após a execução de todos os laços de repetição do algoritmo, assinale a opção que apresenta os valores das posições 4 e 5 do vetor v respectivamente:
Algoritmo Exemplo
Var v: vetor [0..7]: inteiro
Var n, p, u, a: inteiro
Início
Para p de 0 até 7 passo 1 faça
leia (n)
v[p] ← n
Fim_para
p ← 0
u ← 8
Enquanto (u < > 2) faça
Enquanto (p < > (u-1)) faça
Se (v[p] > v[p+1]) então
a ← v[p]
v[p] ← v[p+1]
v[p+1] ← a
Fim_se
p ← p + 1
Fim_enquanto
p ← 0
u ← u - 1
Fim_enquanto
Fim
Caso v receba os valores 15, 25, 4, 10, 54, 32, 29 e 44, nessa ordem, após a execução de todos os laços de repetição do algoritmo, assinale a opção que apresenta os valores das posições 4 e 5 do vetor v respectivamente:
Resolução comentada
Bubble sort parcial; posições 4 e 5 ficam 29 e 32.
O algoritmo é um bubble sort. A 1ª passada dá 15,4,10,25,32,29,44,54. A 2ª passada dá 4,10,15,25,29,32,44,54, e o vetor já fica ordenado. As passadas seguintes não o alteram, então v[4]=29 e v[5]=32.
Análise das alternativas
A, B, D e E) Não correspondem ao vetor final 4,10,15,25,29,32,44,54, em que as posições 4 e 5 (a partir de 0) valem 29 e 32.
Referência: Algoritmos de ordenação – Bubble sort.
Resolução comentada do VaiConcursos.