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.
