Estruturas de Controle – A Tomada
de Decisões
• Desvio Condicional Simples
• Desvio Condicional Composto
• Desvios Condicionais Encadeados
Operadores Relacionais
Símbolo
=
<>
>
<
>=
<=
Significado
igual a
diferente
maior que
menor que
maior ou igual a
menor ou igual a
Desvio Condicional Simples
se (<condição>) então
<instruções para condição verdadeira>
fim_se
Desvio Condicional Simples
programa SOMA_NUMEROS
var
X, A, B: inteiro
inicio
leia A
leia B
X <- A + B
se (X>10) então
escreva X
fim_se
fim
Desvio Condicional Composto
se <(condição)> entao
<instrução para condição verdadeira>
senao
<instrução para condição falsa>
fimse
Desvio Condicional Composto
programa MEDIA_SITUACAO
var
N1, N2, N3, N4, MEDIA: real
inicio
leia N1
leia N2
leia N3
leia N4
MEDIA <- (N1+N2+N3+N4)/4
escreva “A média é: “, MEDIA
se ( MEDIA >= 7 ) então
escreva “Aprovado”
senão
escreva “Reprovado”
fim_se
fim
Desvio Condicional Encadeado
se (<condição1>) então
<instruções para condição1 verdadeira>
senão
se (<condição2>) entao
<instruções para condição2 verdadeira, porém condição1 falsa>
senao
<instruções para condição1 e condição2 falsa>
fim_se
fim_se
Desvio Condicional Encadeado
Desvio Condicional Encadeado
Considere que o funcionário deverá receber um reajuste de 15%
caso seu salário seja menor que 500. Se o salário for maior ou
igual a 500, mas menor ou igual a 1000, seu reajuste será de
10%; caso seja maior que 1000, o reajuste deverá ser de 5%
Salário < 500, reajuste será de 15%
Salário >= 500, mas <= 1000, reajuste será de 10%
Salário > 1000, reajusto será de 5%
Desvio Condicional Encadeado
Desvio Condicional Encadeado
programa REAJUSTA_SALARIO
var
NOVO_SALARIO: real
SALARIO: real
inicio
leia SALARIO
se (SALARIO < 500) então
NOVO_SALARIO <- SALARIO + (SALARIO * 15 / 100)
senão
se (SALARIO <= 1000) então
NOVO_SALARIO <- SALARIO + (SALARIO * 10 / 100)
senão
NOVO_SALARIO <- SALARIO + (SALARIO * 5 / 100)
fim_se
fim_se
escreva NOVO_SALARIO
fim
Operadores Lógicos
• Operador: E
• Operador: OU
• Operador: NÃO
Operador Lógico: E
Condição 1
FALSO
VERDADEIRO
FALSO
VERDADEIRO
Condição 2
FALSO
FALSO
VERDADEIRO
VERDADEIRO
Resultado
FALSO
FALSO
FALSO
VERDADEIRO
O operador do tipo E é utilizado quando dois ou
mais relacionamentos lógicos de uma determinada
condição necessitam ser verdadeiros.
Operador Lógico: E
programa TESTA_LOGICA_E
var
NUMERO: inteiro
inicio
leia NUMERO
se (NUMERO >= 20) .e. (NUMERO <=90) então
escreva “Esta na faixa de 20 a 90"
senão
escreva “Esta FORA da faixa de 20 a 90"
fim_se
fim
Operador Lógico: OU
Condição 1
FALSO
VERDADEIRO
FALSO
VERDADEIRO
Condição 2
FALSO
FALSO
VERDADEIRO
VERDADEIRO
Resultado
FALSO
VERDADEIRO
VERDADEIRO
VERDADEIRO
O operador do tipo OU é utilizado quando pelo
menos um dos relacionamentos lógicos de uma
condição necessita ser verdadeiro.
Operador Lógico: OU
programa MEDIA_FALTAS_SITUACAO
var
N1, N2, N3, N4, MEDIA: real
FALTAS: inteiro
inicio
leia N1
leia N2
leia N3
leia N4
leia FALTAS
MEDIA <- (N1+N2+N3+N4)/4
escreva “A média é: ”, MEDIA
se (MEDIA >= 7) .ou. (FALTAS < 10) então
escreva “Aprovado”
senão
escreva “Reprovado”
fim_se
fim
Operador Lógico: NÃO
Condição
VERDADEIRO
FALSO
Resultado
FALSO
VERDADEIRO
O operador do tipo NAO é utilizado quando se
necessita estabelecer que uma determinada
condição deve não ser verdadeira ou deve não ser
falsa. O operador NAO se caracteriza por inverter o
estado lógico de uma condição.
Operador Lógico: NÃO
programa TESTA_LOGICA_NAO
var
A, B, C, X: inteiro
inicio
leia A, B, X
se .nao. (X>5) então
C <- (A + B) * X
senão
C <- (A - B) * X
fim_se
escreva C
fim
TABELA VERDADE
A
F
F
V
V
B
F
V
F
V
NÃO A NÃO B A OU B
V
V
F
V
F
V
F
V
V
F
F
V
AEB
F
F
F
V
Download

Estruturas de Controle * A Tomada de Decisões