Beruflich Dokumente
Kultur Dokumente
ESTRUTURAS DE DECISO
Prof. Angelo Augusto Frozza, M.Sc.
frozza@ifc-camboriu.edu.br
ROTEIRO
| Estruturas
Deciso simples
|
Deciso composta
|
se...ento
se...ento...seno
Deciso mltipla
|
escolha...caso
DECISO
SIMPLES
se <expressao_logica> entao
<sequencia_de_comandos>
fimse
|
<expressao_logica>
y
<sequencia_de_comandos>
y
y
DECISO
SIMPLES
algoritmo EXEMPLO_DE_DECISAO_SIMPLES
{Ler um nmero inteiro e exibi-lo se for positivo}
var
num : inteiro
leia(num)
inicio
leia (num)
se (num > 0) entao
escreval (num)
fimse
fimalgoritmo
num > 0
sim
escreva(num)
no
fim
DECISO
COMPOSTA
se <expressao_logica> entao
<sequencia_de_comandos_1>
senao
<sequencia_de_comandos_2>
fimse
|
<sequencia_de_comandos_1>
y
y
<sequencia_de_comandos_2>
y
y
DECISO
COMPOSTA
algoritmo EXEMPLO_DE_DECISAO_COMPOSTA
{Ler um nmero e determinar se maior que zero ou no}
var
num : inteiro
inicio
leia (num)
se (num > 0) entao
escreval (num, " maior que zero")
senao
escreval (num, " menor ou igual a zero")
fimse
fimalgoritmo
DECISO
COMPOSTA
leia(num)
num > 0
no
Escreva
(num menor que zero)
sim
Escreva
(num maior que
zero)
fim
DECISO
|
COMPOSTA
Comandos SE aninhados:
se <expressao_logica_1> entao
se <expressao_logica_2> entao
<sequencia_de_comandos_1>
fimse
senao
se <expressao_logica_3> entao
<sequencia_de_comandos_2>
senao
<sequencia_de_comandos_3>
fimse
<sequencia_de_comandos_4>
fimse
DECISO
COMPOSTA
algoritmo "EXEMPLO_DE_SE_ANINHADO"
{Determinar se um nmero maior, menor ou igual a zero}
var
num : inteiro
inicio
leia (num)
se (num > 0) entao
escreval (num, " maior que zero")
senao
se (num < 0) entao
escreval (num, " menor que zero")
senao
escreval (num, " igual a zero")
fimse
fimse
fimalgoritmo
DECISO
MLTIPLA
escolha <expressao_de_selecao>
caso <exp11>, <exp12>,.., <exp1n>
<sequencia_de_comandos_1>
caso <exp21>, <exp22>,.., <exp2n>
<sequencia_de_comandos_2>
...
outrocaso
<sequencia_de_comandos_3>
fimescolha
DECISO
MLTIPLA
DECISO
COMPOSTA
algoritmo "EXEMPLO_DE_DECISAO_MULTIPLA"
{Simular uma calculadora bsica de nmeros inteiros}
var
num_1, num_2 : inteiro
operacao : caracter
inicio
leia (num_1)
leia (num_2)
leia (operacao)
escolha (operacao)
caso "+"
escreval(num_1 + num_2)
caso "-"
escreval(num_1 - num_2)
caso "*", "X"
escreval(num_1 * num_2)
caso "/"
escreval(num_1 / num_2)
outrocaso
escreval("Operao invlida")
fimescolha
fimalgoritmo
DECISO
COMPOSTA
algoritmo "EXEMPLO_DE_DECISAO_MULTIPLA
var
num_1, num_2 : inteiro
operacao : caracter
inicio
leia (num_1)
leia (num_2)
leia (operacao)
se (operacao = "+") entao
escreval(num_1 + num_2)
senao
se (operacao = "-") entao
escreval(num_1 - num_2)
senao
se ((operacao = "*") ou (operacao = "X")) entao
escreval(num_1 * num_2)
senao
se (operacao = "/") entao
escreval(num_1 / num_2)
senao
escreval("Operao invlida")
fimse
fimse
fimse
fimse
fimalgoritmo