Você está na página 1de 7

1

Algoritmo 1
Semana 05
DESVIO CONDICIONAL
EXERCÍCIOS

http://eder.villalba.com.br
Ex 03 2

 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:

http://eder.villalba.com.br
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

http://eder.villalba.com.br
Ex 03 - Ordenar A,B,C 4

 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)

http://eder.villalba.com.br
5

http://eder.villalba.com.br
Ex 03 - Ordenar A,B,C 6

 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:

http://eder.villalba.com.br
leia (a, b, c)

Ex 03 - Ordenar A,B,C
se a > b entao

se b > c entao
7
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 http://eder.villalba.com.br

Você também pode gostar