Sei sulla pagina 1di 19

Estruturas de Decisão

Prof. Rosana Traversa


Estrutura de Decisão Simples
 A instrução usada para avaliar uma
condição simples é dada pelo
comando:
se
se <condição>
<condição> entao
entao
<ações
<ações (uma
(uma ouou mais)
mais) aa serem
serem realizadas
realizadas se
se
aa condição
condição for
for verdadeira>
verdadeira>
fimse
fimse
Representação gráfica

sim
<Condição>

não <instruções
executadas se
condição
verdadeira>

<instruções
executadas após
condição
verdadeira ou
falsa>
Estrutura de Decisão Composta
Tratam tanto a parte verdadeira da
condição quanto a falsa.
Sintaxe:
se
se <condição>
<condição> entao
entao
<ações
<ações (uma
(uma ouou mais)
mais) aa serem
serem realizadas
realizadas se
se
aa condição
condição for
for verdadeira>
verdadeira>
senao
senao
<ações
<ações (uma
(uma ouou mais)
mais) aa serem
serem realizadas
realizadas se
se
aa condição
condição for
for falsa>
falsa>
fimse
fimse
Representação gráfica

não sim
<Condição>

<instruções
<instruções
executadas se
executadas se
condição
condição falsa>
verdadeira>

<instruções
executadas após o
teste condicional>
Estrutura de Decisão Encadeada

Destinam-se ao tratamento de situações


em que uma série de condições
dependentes precisam ser avaliadas.

O encadeamento pode ser na afirmativa


ou na negativa.
Estrutura de Decisão Encadeada
(Encadeamento na negativa)
se
se <condição1>
<condição1> entao entao
<ações
<ações (uma(uma ouou mais)
mais) aa serem
serem realizadas
realizadas
se
se aa condição
condição 11 for
for verdadeira>
verdadeira>
senao
senao
se
se <condição
<condição 2> 2> entao
entao
<ações
<ações (uma(uma ouou mais)
mais) aa serem
serem realizadas
realizadas
se
se aa condição
condição 22 for
for verdadeira>
verdadeira>
senao
senao
se
se <condição
<condição n> n> entao
entao
<ações
<ações (uma
(uma ouou mais)
mais) aa serem
serem realizadas
realizadas
se
se aa condição
condição nn for
for verdadeira>
verdadeira>
senao
senao
<ações
<ações (uma
(uma ouou mais)
mais) aa serem
serem realizadas
realizadas
se
se nenhuma
nenhuma das das condições
condições acima
acima for
for verdadeira>
verdadeira>
fimse
fimse
fimse
fimse
fimse
fimse
Estrutura de Decisão Encadeada
(Encadeamento na negativa - Fluxograma)

F V
condição1

Ações se
F v
condicao2 condiçao1
verdadeira
Ações se
Ações se
condiçao1 e 2
condiçao2
falsas
verdadeira

Ações que
independem
das condições
Estrutura de Decisão Encadeada
(Encadeamento na afirmativa)

se
se <condição1>
<condição1> entao
entao
se
se <condição2>
<condição2> entao
entao
<ações
<ações (uma
(uma ou ou mais)
mais) aa serem
serem
realizadas
realizadas sese as
as condições
condições 1 1 ee 2
2
forem
forem verdadeiras>
verdadeiras>
fimse
fimse
senao
senao
<ações
<ações (uma
(uma ouou mais)
mais) aa serem
serem realizadas
realizadas se
se
aa condição1
condição1 for
for falsa>
falsa>
fimse
fimse
Estrutura de Decisão Encadeada
(Encadeamento na afirmativa)
F V
condição1

V
Ações se condicao2
condiçao1 for Ações se
falsa condições 1 e
F 2 forem
verdadeiras

Ações que
independem
das condições
Exemplo de aplicação:
 Dados os 3 lados de uma figura (a,b,c)
verifique se é um triângulo:
 CONDIÇÃO: Para que uma figura seja
considerada um triângulo é necessário que
cada um dos lados seja menor que a soma
dos outros 2.
 Sendo um triângulo, verifique se o
triângulo é equilátero, isósceles ou
escaleno.
INICIO

Solução: A, B, C

A<B+C e
B<A+C e
C<A+B

A=B e B=C

A=B ou
B=C ou
“Não é A=C
Triangulo ”

“Triangulo
“Triangulo “Triangulo Equilatero”
Escaleno” Isósceles”

FIM
Solução:
algoritmo "TRIANGULO"
// Função : Verifica se os lados de uma figura é um triangulo
var
A,B,C:REAL
inicio
ESCREVAL("DIGITE OS 3 LADOS DE UMA FIGURA:")
LEIA(A,B,C)
SE (A<B+C) E (B<A+C) E (C<A+B) ENTAO //É TRIANGULO
SE (A=B) E (B=C) ENTAO
ESCREVAL("TRIANGULO EQUILATERO")
SENAO
SE(A=B) OU (B=C) OU (A=C) ENTAO
ESCREVAL("TRIANGULO ISOSCELES")
SENAO
ESCREVAL("TRIANGULO ESCALENO")
FIMSE
FIMSE
SENAO
ESCREVAL("NÃO É TRIANGULO")
FIMSE
fimalgoritmo
Estrutura de seleção Múltipla
Escolha
 Existem casos em que uma mesma
variável deve ser avaliada em
relação à múltiplos valores.
 Nestes casos, pode-se utilizar uma
estrutura de múltipla escolha como se
segue:
Estrutura de seleção de Múltipla
Escolha
<Ações para
<VALOR1>
valor1>

<Ações para
<VALOR2>
valor2>

<Ações para
<VALOR3>
valor3>

<Ações para
<VALORn>
valor n>

<Ações para
nenhum dos
valores
anteriores>
Estrutura de seleção de Múltipla Escolha
Escolha
Escolha <variável>
<variável>
caso
caso <valor1>
<valor1>
<ações
<ações (uma
(uma ouou mais)
mais) aa serem
serem realizadas
realizadas se
se
variável
variável =
= valor1>
valor1>
caso
caso <valor2>
<valor2>
<ações
<ações (uma
(uma ouou mais)
mais) aa serem
serem realizadas
realizadas se
se
variável
variável =
= valor2>
valor2>
....
....
caso
caso <valorN>
<valorN>
<ações
<ações (uma
(uma ouou mais)
mais) aa serem
serem realizadas
realizadas se
se
variável
variável =
= valorN>
valorN>
outrocaso
outrocaso
<ações
<ações (uma
(uma ouou mais)
mais) aa serem
serem realizadas
realizadas se
se
variável
variável diferente
diferente de
de qualquer
qualquer valor
valor acima>
acima>
FimEscolha
FimEscolha
Exemplos de aplicação:
1. Leia um código referente ao estado
civil de uma pessoa e informe seu
estado civil por extenso.

2. Leia um numero de 1 a 10 e mostre


seu equivalente em algarismos
romanos
algoritmo "EstadoCivil"
// Função : Determina o estado civil a partir de um código
//Mostra o comando de multipla escolha
var
codigo: caractere
inicio
Escreval("Digite o codigo do estado civil:")
Escreval("s- solteiro; c-casado; v- viuvo; d-separado")
Leia(codigo)
escolha codigo
caso "s"
escreval("Solteiro")
caso "c"
escreval("Casado")
caso "v"
escreval("Viuvo")
caso "d"
escreval("Separado")
outrocaso
escreval("Codigo invalido")
fimescolha
fimalgoritmo
algoritmo “Romanos"
// Função : transforma em algarismos romanos um numero
//lido entre 1 e 10
var
num: inteiro
inicio
Escreval("Digite um numero de 1 a 10:")
Leia(num)
Escolha num
caso 1
escreval(“I")
caso 2
escreval(“II")
caso 3
escreval(“III")
...
...
outrocaso
escreval("Codigo invalido")
fimescolha
fimalgoritmo

Potrebbero piacerti anche