Você está na página 1de 17

Algoritmos Computacionais

Professor: Sidney Doria, M.Sc.


Estruturas de Controle
Estruturas de Seleo

Reviso das Aulas Anteriores


Algoritmos como roteiros passo a passo
Algoritmos computacionais
Requer mais formalidade e preciso
Srie de comandos para instruir um computador
Podem conter deciso e repetio

Expresses aritmticas
Podem ser combinadas, resultando em nmeros
Podem ser comparadas com operadores relacionais,
resultando em V ou F

Expresses lgicas
Podem ser combinadas, resultando em V ou F

Estruturas de Controle
Algoritmos so executados de forma sequencial
Execuo ocorre exatamente da forma que lemos
De cima para baixo
Da esquerda para a direita
Operaes aritmticas e lgicas possuem precedncia

Terminador ponto-e-vrgula separa os comandos


Estruturas de controle desviam a execuo linear
Exprimem a necessidade de deciso ou de repetio

Estrutura de Seleo
Exprime a necessidade de deciso
Seleciona um bloco a ser executado
Necessita de uma condio
Que ter sempre resultado lgico V ou F

Uma condio pode ser


Expresso relacional
Expresso lgica

Estruturas de seleo podem ser classificadas em


Seleo Simples
Seleo Composta
Seleo Encadeada

Seleo Simples
1. Se <condio> entao
2.
inicio // incio do bloco verdade
3.
comando 1;
4.
comando 2;
5.
(...)
6.
comando n;
7.
fim; // fim do bloco verdade
8. fimse;

Seleo Simples
1. Se <condio> entao
2.
inicio // incio do bloco verdade
3.
comando 1;
4.
comando n;
5.
fim; // fim do bloco verdade
6. fimse;

Quando a condio resultar em V


Bloco verdade executado

Quando a condio resultar em F


Bloco verdade no executado

obrigatrio usar blocos para mais de um comando

Mdia Aritmtica com Aprovao


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.

inicio // Incio do algoritmo mdia aritmtica


// Declarao de variveis
real : N1, N2, N3, N4, // Notas
MEDIA; // Mdia das notas
// Entrada de dados
leia (N1, N2, N3, N4);
// Processamento dos dados
MEDIA <- (N1 + N2 + N3 + N4) / 4;
// Sada dos dados
escreva (MEDIA);
se (MEDIA >= 7) entao
escreva (Aluno APROVADO);
fimse;
fim // Fim do algoritmo

Seleo Composta
1. se <condio> ento
2.
inicio // incio do bloco verdade
3.
comando 1;
4.
comando n;
5.
fim; // fim do bloco verdade
6. senao
7.
inicio // incio do bloco falsidade
8.
comando 1;
9.
comando n;
10. fim; // fim do bloco falsidade
11. fimse;

Seleo Composta
1. se <condio> ento
2.
inicio // incio do bloco verdade
3.
comando 1;
4.
comando n;
5.
fim; // fim do bloco verdade
6. senao
7.
inicio // incio do bloco falsidade
8.
comando 1;
9.
comando n;
10. fim; // fim do bloco falsidade
11. fimse;
Quando a condio for V
Bloco verdade executado
Quando a condio for F
Bloco falsidade executado

Mdia com Aprovao e Reprovao


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.

inicio // Incio do algoritmo mdia aritmtica


// Declarao de variveis
real : N1, N2, N3, N4, // Notas
MEDIA; // Mdia das notas
// Entrada de dados
leia (N1, N2, N3, N4);
// Processamento dos dados
MEDIA <- (N1 + N2 + N3 + N4) / 4;
// Sada dos dados
escreva (MEDIA);
se (MEDIA >= 7) entao
escreva (Aluno APROVADO);
senao
escreva (Aluno REPROVADO);
fimse;
fim // Fim do algoritmo

Seleo Encadeada
Uma seleo tem como ao outra seleo
Verificam-se vrias condies e suas aes associadas
Exemplo do Tipo de Tringulo
Um polgono tringulo se cada lado for menor que a soma
dos demais
Um tringulo issceles, equiltero ou escaleno
Equiltero tem os trs lados iguais, de mesma medida
Issceles tem dois lados iguais e um diferente
Escaleno tem os trs lados diferentes

Exemplo - Tringulos
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.

inicio // Incio do algoritmo triangulo


inteiro : A, B, C; // lados do tringulo
leia (A, B, C);
se (A < B + C) e (B < A + C) e (C < A + B) entao
se (A = B) e (B = C) entao
escreva (TRINGULO EQUILTERO);
senao
se (A = B) ou (B = C) ou (A = C) entao
escreva (TRINGULO ISSCELES);
senao
escreva (TRINGULO ESCALENO);
fimse
fimse
senao
escreva (LADOS NO FORMAM UM TRINGULO);
fimse;
fim // Fim do algoritmo

Selees Encadeadas Homogneas


Observe que
1. se <condicao1> entao
2.
se <condicao2> entao
3.
se <condicao3> entao
4.
comando1;
5.
fimse;
6.
fimse;
7. fimse;
equivalente a
1. se <condicao1> e <condicao2> e <condicao3> entao
2.
comando1;
3. fimse;

Eficincia em Selees Encadeadas


Seleo
1. se X = 1 entao
2.
comando1;
3. fimse;
4. se X = 2 entao
5.
comando2;
6. fimse;
7. se X = 3 entao
8.
comando3;
9. fimse;

Desempenho normal

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

Seleo otimizada
se X = 1 entao
comando1;
senao
se X = 2 entao
comando2;
senao
se X = 3 entao
comando3;
fimse;
fimse;
fimse;

Desempenho melhorado

Seleo de Mltipla Escolha

Selees encadeadas homogneas so comuns

Tratamento de listas de valores

Exemplo
1. escolha X
2.
caso 1 : comando1;
3.
caso 2 : comando2;
4.
caso 3 : comando3;
5.
caso contrrio : comando4;
6. fimescolha;

Exemplo Mltipla Escolha


1. inicio
2. real : Preo;
3.
inteiro : Origem;
4.
leia (Preo, Origem);
5.
escolha Origem
6.
caso 1 : escreva (Preo, produto do Sul);
7.
caso 2 : escreva (Preo, produto do Norte);
8.
caso 3 : escreva (Preo, produto do Leste);
9.
caso 4 : escreva (Preo, produto do Oeste);
10.
caso 7, 8, 9 : escreva (Preo, produto do Sudeste);
11.
caso 10..20 : escreva (Preo, produto do Centro-Oeste);
12.
caso 5, 6, 25, 30 : escreva (Preo, produto do Nordeste);
13.
caso contrrio : escreva (Preo, produto importado);
14.
fimescolha;
15. fim

Complementos Aula

Para Casa
Fazer todos os exerccios de Seleo do captulo 3

Para a prxima aula


Resolver a lista de exerccios de Seleo
Ler Estruturas de Repetio no captulo 3 do livro

Você também pode gostar