Inserção em vetor com deslocamento
Gabarito: letra B. O algoritmo percorre o vetor de trás para frente a partir da última posição até o índice k, copiando cada elemento para a posição seguinte, e então atribui o valor x à posição k. Isso insere x (0) entre os elementos que originalmente estavam em v[k-1] e v[k], deslocando v[k] e os seguintes uma casa à direita.
O vetor original é: v[0]=12, v[1]=145, v[2]=1, v[3]=3, v[4]=67, v[5]=9, v[6]=45 (v[7] não foi inicializado).
Com n=8, k=3, x=0, o laço Para j ← n-1 até k passo -1 executa para j=7,6,5,4,3. Em cada iteração, v[j] recebe v[j-1]. Após o laço, v[3] recebe x=0. Resultado final: v[0]=12, v[1]=145, v[2]=1, v[3]=0, v[4]=3, v[5]=67, v[6]=9, v[7]=45.
Isso mostra que o algoritmo insere o valor x na posição k, empurrando os elementos de k em diante para a direita. O elemento que antes estava em v[k] (3) passa a ocupar v[k+1] (4). Portanto, x fica entre v[k-1] (1) e o antigo v[k] (3).
Alternativa A — ❌ Incorreta
A alternativa afirma que o algoritmo exclui o valor contido na posição x do vetor. Na verdade, x é um valor (0) que é inserido, não uma posição a ser excluída. Nenhuma exclusão ocorre.
Alternativa B — ✅ Correta ⟵ GABARITO
Como demonstrado, o valor x é inserido na posição k, situando-se entre os elementos que ocupavam as posições k-1 e k originais. A descrição está correta.
Alternativa C — ❌ Incorreta
Diz que o algoritmo exclui o valor da posição k. Embora o valor original de v[k] (3) seja sobrescrito? Não, ele é deslocado para v[k+1]. O vetor permanece com todos os valores originais, apenas reorganizados. Não há exclusão.
Alternativa D — ❌ Incorreta
Alega que em algum momento o algoritmo acessa uma posição inexistente. O vetor tem índices de 0 a 7. O laço acessa v[j] e v[j-1] para j de 7 a 3, todos dentro do intervalo válido. Não há acesso fora dos limites.
Alternativa E — ❌ Incorreta
Inverte os papéis: afirma que o valor de k (3) é inserido entre v[x] e v[x+1]. Na realidade, é o valor de x (0) que é inserido na posição k. A confusão entre x e k torna a alternativa errada.