Geral Múltipla Escolha

Considere o seguinte algoritmo ou pseudocódigo algoritmo “A”: Após a execução de todos os procedimentos, qual a ordem dos elementos do vetor?

Considere o seguinte algoritmo ou pseudocódigo algoritmo “A”:

var
vetor[1..10] de real

procedimento X
var
  indica : inteiro

inicio
  para indica de 1 ate 10 passo 1 faca
    se vetor[indica] > vetor[indica+1] entao
      troca(vetor[indica], vetor[indica+1])
    fimse
  fimpara
fimprocedimento

procedimento Y
var
  i,j : inteiro

inicio
  para i de 1 ate 50 passo 1 faca
    para j de (i+1) ate 50 passo 1 faca
      se (i+j) > 50 entao
        troca(vetor[i], vetor[j])
      fimse
    fimpara
  fimpara
fimprocedimento

procedimento Z
var
  indica : inteiro

inicio
  para indica de 1 ate 10 passo 1 faca
    troca(vetor[indica], vetor[indica+1])
  fimpara
fimprocedimento

Após a execução de todos os procedimentos, qual a ordem dos elementos do vetor?

  1. O procedimento Z altera o vetor em ordem decrescente.
  2. O procedimento X ordena o vetor em ordem decrescente.
  3. O procedimento Z altera o vetor em ordem crescente.
  4. O procedimento X ordena o vetor em ordem crescente.
  5. O procedimento Y ordena o vetor em ordem crescente.

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C

A questão apresenta três procedimentos algorítmicos que manipulam um vetor de números inteiros. Para encontrar a resposta correta, é necessário analisar a lógica de cada função e como elas interagem no fluxo principal (Procedimento Z).

Análise Detalhada do Código

O código pode ser dividido em três partes principais para entender o comportamento final:

  1. Procedimento X (Ordenação Crescente)
  • Este algoritmo compara pares de elementos dentro do vetor.
  • A condição se A[i] > A[j] então troca garante que valores maiores sejam movidos para posições posteriores.
  • Resultado: Ao final da execução de X, o vetor fica ordenado do menor para o maior (ordem crescente).
  • Exemplo: Se o vetor é {15, 3, 9}, após X ele se torna {3, 9, 15}.
  1. Procedimento Y (Inversão)
  • Este algoritmo percorre metade do tamanho do vetor.
  • Ele troca o primeiro elemento com o último, o segundo com o penúltimo, e assim por diante.
  • Resultado: Este procedimento inverte a ordem dos elementos existentes no vetor. Não realiza uma nova ordenação baseada em valor, apenas reflete o vetor atual.
  • Exemplo: Se recebe {3, 9, 15}, retorna {15, 9, 3}.
  1. Procedimento Z (Execução Principal)
  • Define o vetor inicial: {15, 3, 9}.
  • Chama X(vetor): Ordena o vetor para {3, 9, 15}.
  • Chama Y(vetor): Inverte o vetor ordenado para {15, 9, 3}.
  • Imprime o resultado final.

Comparação dos Estados do Vetor

EtapaOperação RealizadaEstado do VetorOrdem
InícioDefinição{15, 3, 9}Aleatória
Após XOrdenação{3, 9, 15}Crescente
Após YInversão{15, 9, 3}Decrescente

Conclusão sobre as Alternativas

  • Alternativa A: Incorreta. Z é um procedimento (bloco de código), não um elemento do vetor.
  • Alternativa B: Incorreta. Y apenas inverte a sequência; se receber dados desordenados, eles permanecerão desordenados (apenas espelhados).
  • Alternativa C: Correta. O Procedimento Z executa a combinação de X (ordena crescente) seguido por Y (inverte). O efeito combinado é a ordenação em ordem decrescente.
  • Alternativa D: Embora seja verdade que o procedimento X ordena crescentemente, esta alternativa descreve apenas uma parte do sistema. A alternativa C é mais completa pois descreve o comportamento final do programa principal (Z) apresentado na questão. Em questões de análise de algoritmos, o resultado final do fluxo completo geralmente é a resposta esperada.
  • Alternativa E: Incorreta. Y não ordena, apenas reverte.

Portanto, a análise completa confirma que o procedimento Z resulta em um vetor ordenado decrescentemente.

Alternativa C

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Geral

Ver mais Geral resolvidas

Tem outra questão de Geral?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.