Alternativa E
Análise Detalhada:
A questão apresenta trechos de pseudocódigo com três procedimentos principais (X, Y e Z) e pergunta qual deles ordena um vetor em ordem decrescente ou crescente. Para encontrar a resposta correta, precisamos analisar a lógica de comparação e troca de elementos de cada procedimento.
1. Análise do Procedimento Y:
Este é o procedimento mais claro e completo de ordenação apresentado nas opções válidas.
- Estrutura: Possui dois laços aninhados (
para j e para k). - Lógica:
se U[j] > U[k] então
Troque(U[j], U[k])
fim-se
- Interpretação: O algoritmo compara o elemento na posição
j com os elementos subsequentes (k). Se o elemento da esquerda (j) for maior que o da direita (k), eles são trocados. - Resultado: Ao garantir que elementos menores fiquem à esquerda dos maiores, o vetor fica organizado do menor para o maior. Isso caracteriza uma ordenação em Ordem Crescente.
2. Análise das Alternativas:
- Alternativa A (Procedimento Z): O código de Z usa a condição
V[indice] < V[i]. Se o atual for menor que o próximo, ele troca. Isso tende a mover valores maiores para a esquerda, sugerindo uma tendência de ordenação decrescente (ou incompleta), não crescente. Portanto, está incorreta. - Alternativa B (Procedimento Y - Decrescente): Como analisado acima, o Procedimento Y coloca os menores números primeiro. Logo, é crescente, não decrescente. Incorreta.
- Alternativas C e D (Procedimento K): Não existe nenhum procedimento chamado "K" no enunciado (apenas X, Y e Z). Estas alternativas são inválidas por referência inexistente.
- Alternativa E (Procedimento Y - Crescente): Esta afirmação corresponde exatamente à análise feita no item 1. O Procedimento Y organiza os elementos do menor para o maior.
Conclusão:
A única afirmação correta sobre a funcionalidade dos algoritmos apresentados é que o Procedimento Y realiza a ordenação em ordem crescente.
Resposta Correta:
Alternativa E