Aula 6_EstruturaCondicional

Download Report

Transcript Aula 6_EstruturaCondicional

Universidade Federal do Espírito Santo
Programação II
Professora: Norminda Luiza
Estrutura Condicional
A estrutura condicional permite a escolha do grupo de ações e estruturas a ser
executado quando determinadas condições, representadas por expressões
lógicas, são ou não satisfeitas.
Esta estrutura pode se apresentar de duas formas.
Estrutura condicional simples
se condição
então sequência de comandos
fim se
Neste caso, a sequência de comandos só será executada se a condição for
verdadeira.
Obs.: Ao ser mencionada “sequência de comandos” está implícito que ela contém um ou
mais comandos e pode conter uma ou mais estruturas.
Exemplo: Algoritmo
declare A, B, C real
leia (A, B)
se A+ B < C
então escreva (“MENSAGEM”)
fim se
fim algoritmo
Estrutura Condicional
Estrutura condicional composta
se condição
então sequência A de comandos
senão sequência B de comandos
fim se
Neste caso, a sequência A de comandos só será executada se a condição
(expressão lógica) for verdadeira e a sequência B de comandos só será
executada se a condição for falsa.
Exemplo:
Algoritmo
declare A, B, X, Y real
leia (A, B)
se A = B
então X  1,5
Y  2,5
senão X  - 1,5
Y  - 2,5
fim se
escreva (X, Y)
fim algoritmo
Estrutura Condicional
Seleção Encadeada
Quando, devido à necessidade de processamento, agrupamos várias seleções,
formaremos uma seleção encadeada.
Seleção encadeada heterogênea
Quando não conseguimos identificar um padrão lógico de construção em uma estrutura
de seleção encadeada.
se (condição 1)
então se (condição 2)
então seq. comandos A
fimse
senão se (condição 3)
então seq. comandos B
senão se (condição 4)
então se (condição 5)
então seq. comandos C
fim se
senão comando D
fimse
fimse
fimse
Estrutura Condicional
se (condição 1)
então se (condição 2)
então seq. comandos A
fimse
senão se (condição 3)
então seq. comandos B
senão se (condição 4)
Seleção encadeada heterogênea
então se (condição 5)
então comando C
fim se
senão comando D
fimse
fimse
fimse
Tabela de decisão
Condição 1
Condição 2
Condição 3
Condição 4
Condição 5
Ação
executada
V
V
-
-
-
seq. A
F
-
V
-
-
seq. B
F
-
F
V
V
comando C
F
-
F
F
-
comando D
Estrutura Condicional
Seleção encadeada heterogênea homogênea
Chamamos de seleção encadeada homogênea a construção de diversas estruturas de
seleção encadeadas que seguem um determinado padrão lógico.
Exemplo: se então se
se (condição 1)
então se (condição 2)
então se (condição 3)
então se (condição 4)
então comando W
fim se
fimse
fimse
fimse
Tabela de decisão
Condição 1
Condição 2
Condição 3
Condição 4
V
V
V
V
Forma equivalente porém simplificada
se ((condição 1) e (condição 2) e (condição 3) e (condição 4))
então comando W
fim se
Ação
executada
Comando W
Estrutura Condicional
Não se trata de uma seleção encadeada
Exemplo: se senão se
se (x = v1)
então C1
fim se
se (x = v2)
então C2
fim se
se (x = v3)
então C3
fim se
se (x = v4)
então C4
fim se
Tabela de decisão
x = v1
x = v2
x = v3
x = v4
Ação
executada
V
F
F
F
C1
F
V
F
F
C2
F
F
V
F
C3
F
F
F
V
C4
Estrutura Condicional
Podemos transformar o exemplo anterior numa estrutura de seleção encadeada
Exemplo: se senão se
se (x = v1)
então C1
Estrutura de seleção encadeada homogênea
senão se (x = v2)
então C2
senão se (x = v3)
então C3
senão se (x = v4)
então C4
fimse
fim se
fim se
Tabela de decisão
fim se
x = v1
x = v2
x = v3
x = v4
Ação
executada
V
-
-
-
C1
F
V
-
-
C2
F
F
V
-
C3
F
F
F
V
C4
Seleção de múltipla escolha
Quando um conjunto de valores discretos precisa ser testado e ações diferentes são
associadas a esses valores, estamos diante de uma seleção encadeada homogênea do tipo
se-senão-se. Neste caso utilizaremos a seleção de múltipla escolha, específica para estes
casos.
Exemplo anterior
escolha x
caso v1:
caso v2:
caso v3:
caso v4:
fimescolha
Exemplo 2: se-senão-se
se (x = v1)
C1
C2
C3
C4
então C1
senão se (x = v2)
então C2
senão se (x = v3)
então C2
Exemplo 2: múltipla escolha
senão se (x = v4)
escolha x
caso v1: C1
caso v2, v3: C2
caso v4: C3
caso v5: C4
caso contrário: c5
fimescolha
então C3
senão se (x = v5)
então C4
senão C5
fimse
fimse
fim se
fim se
fim se
Seleção de múltipla escolha
Exemplo
Construa um algoritmo que, tendo como dados de entrada o preço de um produto e seu
código de origem, mostre o preço jundo de sua procedência. Caso o código não seja
nenhum dos especificados, o produto deve ser encarado como importado. Siga a tabela
de códigos a seguir:
Código de origem
Procedência
1
Sul
2
Norte
3
Leste
4
Oeste
5 ou 6
Nordeste
7,8 ou 9
Sudeste
10 até 20
Centro-oeste
25 até 30
Nordeste