2. Ex 03
Efetuar a leitura de três valores (a,b,c) apresentá-
los em ordem crescente.
Uma maneira de resolver o problema é verificar,
para toda combinação possível de apresentar
três valores lidos, se ela satisfaz a restrição
estabelecida pelo problema, isto é, se a
combinação representa uma seqüência de
valores em ordem decrescente. Seria algo como:
2
3. Ex 03 - Ordenar A,B,C 3
se (a > b) E (b > c) entao
Escreva(a, b , c)
fimse
se (a > c) E (c > b) entao
Escreva(a, c , b)
fimse
se (b >= a) E (a > c) entao
Escreva(b, a, c)
fimse
se (b > c) E (c > a) entao
Escreva(b, c, a)
fimse
4. Ex 03 - Ordenar A,B,C
Esta estratégia requer a avaliação de doze
comparações (duas para cada uma das seis
possíveis combinações).
Uma melhor estratégia é fazer um teste e, em
função do resultado, fazer outro mais
direcionado.
Se após duas comparações ainda não
estivermos em condições de chegar a um
resultado conclusivo, então efetuamos mais um
teste.
Vamos montar uma possível composição de
seqüências de testes (também denominada de
árvore de decisão)
4
6. Ex 03 - Ordenar A,B,C
Neste caso, dados três valores valores efetuamos
três comparações no máximo. O algoritmo mais
eficiente, portanto, pode ser esboçado da
seguinte maneira:
6
7. Ex 03 - Ordenar A,B,C 7
leia (a, b, c)
se a > b entao
se b > c entao
Escreva(a, b, c)
senao
se a > c entao
Escreva(a, c, b)
senão
Escreva (c, a, b)
fimse
fimse
senão
se b > c entao
se a > c entao
Escreva(b, a, c)
senão
Escreva (b, c, a)
fimse
senão
Escreva(c, b, a)
fimse