Algoritmo Exemplo Var v: vetor [0..7]: inteiro Var n, p, u...
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
Considerando-se que v receba os valores 12, 21, 3, 9, 57, 33, 27 e 41, nessa ordem, após executar todos os laços de repetição as posições 4 e 5 do vetor v conterão, respectivamente, os valores
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D - 27 e 33.
Vamos analisar a questão e entender por que essa é a resposta correta. A questão envolve a organização e ordenação de vetores, temas comuns em Algoritmos e Estrutura de Dados. O algoritmo apresentado executa um Bubble Sort, um método simples de ordenação.
Primeiro, observe o pseudocódigo:
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
Este algoritmo lê 8 valores para o vetor v
e então utiliza o Bubble Sort para ordená-los. Vamos analisar as etapas de execução para o vetor v
inicializado com os valores 12, 21, 3, 9, 57, 33, 27, 41:
Passo a passo do Bubble Sort:
- Primeira Passagem:
12, 21, 3, 9, 57, 33, 27, 41 → 12, 3, 21, 9, 57, 33, 27, 41 → 12, 3, 9, 21, 57, 33, 27, 41 → 12, 3, 9, 21, 33, 57, 27, 41 → 12, 3, 9, 21, 33, 27, 57, 41 → 12, 3, 9, 21, 33, 27, 41, 57 - Segunda Passagem:
3, 12, 9, 21, 33, 27, 41, 57 → 3, 9, 12, 21, 33, 27, 41, 57 → 3, 9, 12, 21, 27, 33, 41, 57 - Terceira Passagem:
3, 9, 12, 21, 27, 33, 41, 57
Ao fim do algoritmo, o vetor v
estará ordenado como 3, 9, 12, 21, 27, 33, 41, 57. Portanto, as posições 4 e 5 do vetor conterão, respectivamente, os valores 27 e 33.
Agora vamos entender por que as outras alternativas estão incorretas:
- A - 33 e 41: Esses valores estão nas posições 5 e 6 do vetor ordenado.
- B - 21 e 27: Estes valores estão nas posições 3 e 4 do vetor ordenado.
- C - 57 e 33: 57 é o maior valor e está na última posição do vetor.
- E - 21 e 12: Estes valores não estão consecutivos no vetor ordenado.
Assim, a alternativa correta é D - 27 e 33, pois reflete corretamente os valores nas posições 4 e 5 após a ordenação.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Marlo Oliveira, o vetor começa na posição 0(zero), logo a resposta correta é a alternativa D mesmo.
Bem, para evitar cair em alguma armadilha*, conferi o algoritmo "na mão" e me certifiquei que é mesmo um algoritmo para ordenamento em ordem crescente dos valores. De fato, as posições 4 e 5, ao final, são preenchidas pelos valores 27 e 33, respectivamente.
Temos que estar atentos a esse tipo de questão, pois a posição do vetor é determinada pelo seu índice. Assim, a posição 4 de um vetor, se refere ao valor constante do índice 4 deste vetor. Isso significa que, em um vetor que tem seu início determinado pela posição de índice 0, a posição de índice 4 se refere ao quinto valor deste vetor, e assim sucessivamente.
*durante as provas, pode ser demorado fazer esse tipo de verificação. Tendo como base a média de 2,5 a 3 minutos por questão, de cara é bom supor que um ordenamento será feito. A partir daí, temos que comparar padrões dos valores com os padrões das respostas. Exemplo: não seria um ordenamento par/ímpar, pois somente o 12 é par. Pouco provavelmente, seria um ordenamento decrescente, pois somente uma alternativa tem um par decrescente... e por aí vai... Com isso, já assumiria a hipótese de ser um ordenamento simples crescente e, estando com pouco tempo, trabalhe com essa info e acerte.
Ao executar o algoritmo com algumas interações, percebo que se trata do método Bubble Sort que ordena um vetor, comparando um elemento com seu próximo e trocando as respectivas posições dependendo do critério de ordenação.
Logo o vetor ordenado será: 3,9,12,21,27...
Gabarito: D
Força Guerreiro!!!!!!
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo