Ex23) Questão 18 (Eng. Elétrica - 1998) – Computação

 

Analise o pseudocódigo abaixo.

 

Início

Tipo ARRAY: vetor[1:5] inteiro;

      ARRAY: A;

      Lógica: B;

      Inteiro: Y, AUX;

      Atribua 7 a A[1];

      Atribua 2 a A[2];

      Atribua 9 a A[3];

      Atribua 4 a A[4];

      Atribua 5 a A[5];

      Atribua "VERDADEIRO" a B;

  Enquanto B faça

    Atribua "FALSO" a B;

    Atribua ZERO a Y;

    Enquanto Y<4 faça

      Some 1 a Y

      Se A [ Y ] < A [ Y + 1 ]

        Então

          Atribua A [ Y ] a AUX

          Atribua A [ Y + 1 ] a A [ Y ]

          Atribua AUX a A [ Y + 1 ]

          Atribua "VERDADEIRO" a B

      Fim-se;

    Fim-enquanto;

  Fim-enquanto;

  Para Y de 1 até 5 faça

    Imprima (A[Y])

  Fim-para

Fim.

 

 

a)      Apresente o resultado da execução do algoritmo.

b)      Mostre os valores para as variáveis B e Y, ao final do processamento.

c)      Apresente uma codificação repetir ... até que, como alternativa para as estruturas de controle enquanto ... faça, existentes no código.

 

 

Respostas:

a)      9 7 5 4 2

b)      B = "FALSO" e Y = 5

 

c)       

Repita

  Atribua "VERDADEIRO" a B;

  Atribua ZERO a Y;

  Repita

    Some 1 a Y

    Se A [ Y ] < A [ Y + 1 ]

      Então

        Atribua A [ Y ] a AUX

        Atribua A [ Y + 1 ] a A [ Y ]

        Atribua AUX a A [ Y + 1 ]

        Atribua "FALSO" a B

    Fim-se;

  Até que Y = 4

Até que B = "VERDADEIRO";

 

Comentário:

Este algoritmo, chamado de “Bubble Sort” ou “Método das Bolhas”, é muito utilizado para a ordenação de uma lista de valores.

Os elementos do vetor são comparados dois a dois (o primeiro com o segundo, o segundo com o terceiro e assim por diante). Se os elementos comparados estiverem fora de posição ele são trocados de posição (ver técnica de “Swap” no exercício nº1 deste material).

Esse processo é repetido várias vezes até que não haja mais troca. A variável lógica “B” controla se houve ou não troca na última rodada.