Você está na página 1de 57

Estruturas

Condicionais
AULA 3 - LINGUAGENS DE PROGRAMAÇÃO E
APLICAÇÕES
Estruturas Condicionais

Na vida real tomamos decisões a todo o momento baseadas em uma situação


existente.

Em um algoritmo, chamamos esta situação de condição. Associada a


uma condição, existirá uma alternativa possível de ações.

Para essas situações utilizamos comandos condicionais para resolver


problemas em determinadas situações.
Estruturas Condicionais
Uma estrutura Condicional permite a escolha de um grupo de ações (blocos)
a ser executado quando determinadas condições, representadas por
expressões lógicas ou relacionais, são ou não satisfeitas.

Essas estruturas também são chamadas de estruturas de decisão, estruturas


de condição ou estruturas de seleção.
Estruturas Condicionais
As estruturas de seleção se classificam em:
◦ Seleção Simples
◦ Seleção Composta
◦ Seleção Encadeada
◦ Seleção Encadeada Heterogênea
◦ Seleção Composta Homogênea
◦ Seleção Múltipla Escolha
Seleção Simples
Quando precisamos testar uma certa condição antes de executar uma
ação, usamos uma seleção simples, que segue o seguinte modelo

se <condição>
se <condição>
entao
entao
C1; // bloco de comandos
C; // comando único C2; // bloco de comandos
fimse; C3; // bloco de comandos
C4; // bloco de comandos
fimse;
Seleção Simples
Exemplo

"se tiver R$ 50,00 sobrando então irei ao cinema hoje à noite.”

A condição nesta frase é "tiver R$ 50,00 sobrando". Ela é uma expressão


lógica, pois a pergunta "Tenho R$ 50,00 sobrando?" pode (tem que) ser
respondida com "Sim" ou "Não".

Nesse caso ocorrerá uma ação caso o resultado for “Sim”


Seleção Simples
Em um algoritmo, toda condição tem que ser uma expressão lógica, algo que
possa-se pensar como “isto é VERDADEIRO” ou “isto é FALSO”.

Se a condição for verdadeira, a ação a ser executada é "irei ao cinema",


se a resposta à pergunta "Tenho dinheiro suficiente?" for "Sim". Então, em
um algoritmo, as ações são um ou mais comandos que serão realizados
apenas se a avaliação da condição resulta VERDADEIRO.
Seleção Simples
Agora a frase do exemplo anterior em outra forma, mais parecida com
nosso Português Estruturado:

Se "tiver R$ 50,00 sobrando" entao


"irei ao cinema"
fimse

Se, entao, fimse são palavras reservadas para serem utilizadas em


estruturas condicionais.
Seleção Simples
Escrevendo a mesma solução em português estruturado

Se Dinheiro >= 50 entao


Ir_ao_Cinema <- VERDADEIRO
Fimse

Note que foram utilizados os sinais >= na estrutura de decisão.


Seleção Simples
Exemplo

◦ Considere N1, N2, N3, N4 sendo as 4 notas de um aluno no semestre,


a média dessas notas deverá ser superior ou igual a 5 para que o
aluno seja aprovado, e nesse caso uma mensagem de aprovação
deve ser escrita.

Resolução ->
Seleção Simples
Algoritmo "media"
Var
N1,N2,N3,N4, MEDIA: REAL
Inicio
Escreval("Informe as quatro notas: ")
Leia(N1,N2,N3,N4)
MEDIA <- (N1+N2+N3+N4)/4
Escreval("Média: ", MEDIA)
Se (MEDIA >= 5) Entao
escreval("Aluno Aprovado!")
Fimse
Fimalgoritmo
Seleção Composta

Quando tivermos situações em que duas alternativa dependem de uma


mesma condição, uma de a condição ser verdadeira e outra de a condição for
falsa, usamos a estrutura de seleção composta.
Seleção Composta
Exemplo
"se tiver R$ 50,00 sobrando então irei ao cinema hoje à noite, senão ficarei em
casa assistindo TV.”

A condição nesta frase é "tiver R$ 50,00 sobrando". Ela é uma expressão


lógica, pois a pergunta "Tenho R$ 50,00 sobrando?" Pode (tem que) ser
respondida com "Sim" ou "Não".

A diferença é que agora há uma ação para resultado “Sim” e outra para
resultado “Não”.
Seleção Composta
Agora a frase do exemplo anterior em outra forma, mais parecida com
nosso Português Estruturado:

Se "tiver R$ 50,00 sobrando" entao


"irei ao cinema"
Senao
“ficarei em casa assistindo TV”
fimse
Se, entao, senao, fimse são palavras reservadas para serem
utilizadas em estruturas condicionais.
Seleção Composta
Escrevendo a mesma solução em português estruturado

Se Dinheiro >= 50 entao


Ir_ao_Cinema <- VERDADEIRO
Ficar_em_Casa <- FALSO
senao
Ficar_em_Casa <- VERDADEIRO
Ir_ao_Cinema <- FALSO
Fimse
Note que foram utilizados os sinais >= na estrutura de decisão.
Seleção Composta
Exemplo

◦ Considere N1, N2, N3, N4 sendo as 4 notas de um aluno no semestre,


a média dessas notas deverá ser superior ou igual a 5 para que o
aluno seja aprovado, e nesse caso uma mensagem de aprovação
deve ser escrita, caso contrario deverá ser escrita uma mensagem de
reprovado.

Resolução ->
Seleção Composta
algoritmo "media"
var
N1,N2,N3,N4, MEDIA: REAL
inicio
Escreval("Informe as quatro notas: ")
Leia(N1,N2,N3,N4)
MEDIA <- (N1+N2+N3+N4)/4
Escreval("Média: ", MEDIA)
Se (MEDIA >= 5) Entao
escreval("Aluno Aprovado!")
Senao
escreval("Aluno Reprovado!")
Fimse
fimalgoritmo
Operadores Relacionais e Lógicos

◦ Os operadores relacionais são utilizados para comparar variáveis ou


expressões, resultando em um valor lógico ( verdadeiro ou falso).

◦ E os operadores lógicos são utilizados para avaliar expressões lógicas.


Operadores Relacionais e Lógicos
Operadores Relacionais

= igual a 3=3, x=y


> maior que 5>4, x>y
< menor que 3<6, x<y
>= maior ou igual a 5>=3, x>=y
<= menor ou igual a 3<=5, x<=y
<> diferente de 8<>9, x<>y

O resultado obtido de uma relação é sempre um valor lógico


Operadores Relacionais e Lógicos
Operadores Lógicos

Não negação
E conjunção
Ou disjunção
Tabelas-verdade
◦ Operação de negação

A não A
F V
V F
Tabelas-verdade
◦ Operação de conjunção

A B AeB
F F F
F V F
V F F
V V V

Exemplo: Se chover e relampejar, eu fico em casa


Quando eu fico em casa?
Tabelas-verdade
◦ Operação de disjunção não-exclusiva

A B A ou B
F F F
F V V
V F V
V V V

Exemplo: Se chover ou relampejar eu fico em casa.


Quando eu fico em casa ?
Operadores - Prioridades
Precedência entre todos os operadores

◦ Parênteses mais internos


◦ Operadores aritméticos
◦ Operadores relacionais
◦ Operadores lógicos
◦ Não
◦E
◦ Ou
Exercícios – Operadores
Relacionais e Lógicos
Avalie se o resultado das seguintes expressões:

a) 6+5 >=13
b) 2*6<>12
c) (23-1) + 8 >= 90/3
d) (25+2)/10 = 2*10
e) 100 <= 34
f) 100 <> 1000
Exercícios – Operadores
Relacionais e Lógicos
Assuma A = 2; B = 3; C = 10
a) não (A > B)
j) A < B ou C < B
b)‰
não (B < C)
k)‰
A > B ou C > B
c)‰
A<BeC>B
l)‰
A > B ou C < B
d)‰
A<BeC<B
m)‰
A < B ou C > B ou A > 0
e)‰
A>BeC>B
n)‰
A < B ou C > B ou A < 0
f)‰
A>BeC<B
o)‰
não (A < B e C > B)
g)‰
A<BeC>BeA>0
p)‰
não (A < B ou C > B)
h)‰
A<BeC>BeA<0
q)‰
não (A > B) e C > B
i)‰
A < B ou C > B
r)‰
não (A > B) ou B > C
Exercícios – Operadores
Relacionais e Lógicos
Sabendo que A=5, B=4 e C=3 e D=6, informe se as
expressões abaixo são verdadeiras ou falsas.

a) (A > C) e (C <= D)
b) (A+B) > 10 ou (A+B) = (C+D)
c) (A>=C) e (D >= C)
d) não (A > C) e (Falso e não (D=A))
e) ((D-C) <> 10 ) ou (A+B) = (D)
f) (A>=A+B) ou não(D = C)
Seleção Encadeada
Quando mais de duas condições devem ser consideradas, ou seja, se
um grande conjunto de possibilidades ou combinações de situações for
satisfeito.

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.
Seleção Encadeada
Heterogênea
se <condição 1> Condição Condição Condição Condição Condição Ação
então 1 2 3 4 5 Executada
se <condição2>
C1; // Comando 1 V V - - - C1
fimse
senão F - V - - C2
se <condição 3>
então F - F V V CV
C2; // Comando 2
senão F - F F - CF
se <condição 4>
então
se <condição 5>
então
CV; // comando verdade;
fimse
senão
CF; // comando falsidade;
fimse
fimse
fimse
Seleção Encadeada
Heterogênea
Exemplo

◦ Dado três valores A, B, C, verificar se eles podem ser os


comprimentos dos lados de um triângulo, se forem, verificar se
compõem um triangulo equilátero, isósceles ou escaleno. Informar
se não compuserem nenhum triangulo.
Seleção Encadeada
Heterogênea
Dados de entrada: três lados de um suposto triângulo (A,B,C).

Dados de saída – mensagens:


◦ Não compõem triângulo,
◦ Triângulo equilátero,
◦ Triângulo isósceles,
◦ Triangulo escaleno.
Seleção Encadeada
Heterogênea
O que é um triangulo?

◦ Figura geométrica fechada de três lados, em que cada um é menor


que a soma dos outros dois.
Seleção Encadeada
Heterogênea
O que é um triangulo Equilátero?
◦ Um triangulo com três lados iguais.

O que é um triangulo Isósceles?


◦ Um triangulo com dois lados iguais

O que é um triangulo Escaleno?


◦ Um triângulo com todos os lados diferentes
Seleção Encadeada
Heterogênea
Tabela Decisão

É triangulo ? É eqüilátero? É isósceles? É escaleno? Ações

V V F F Eqüilátero

V F V F Isósceles

V F F V Escaleno

F - - - Não é
Triangulo
Seleção Encadeada
Heterogênea
Traduzindo as condições para expressões lógicas:

◦ Figura geométrica fechada de três lados, em que cada um é menor


que a soma dos outros dois.
◦ É triangulo: (A<B+C) e (B<A+C) e (C<A+B)

◦ Um triangulo com três lados iguais.


◦ É equilátero: (A=B) e (B=C)

◦ Um triangulo com dois lados iguais


◦ É isósceles: (A=B) ou (A=C) ou (B=C)

◦ Um triângulo com todos os lados diferentes


◦ É escaleno: (A<>B) e (B<>C) e (A<>C)
Seleção Encadeada
Heterogênea
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 ("Triangulo Equilátero")
senao
se ((A=B) ou (A=C) ou (B = c)) entao
escreva ("Triangulo Isosceles")
senao
escreva ("Triangulo Escaleno")
fimse
fimse
senao
escreva("Não formam Triangulo")
fimse
Seleção Encadeada
Homogênea
Chamamos de seleção encadeada homogênea a construção de diversas
estruturas de seleção encadeadas que surgem um determinado padrão
lógico.
Seleção Encadeada
Homogênea
se então se

Vamos considerar que, em um dado algoritmo, um comando genérico


W deve ser executado apenas quando forem satisfeitas as condições
<condição 1>, <condição 2>, <condição 3>, <condição 4>, teríamos:
Seleção Encadeada
Homogênea
se <condição 1> entao
se <condição 2> entao
se <condição 3> entao
se <condição 4> entao
Executa Comando W
fimse
fimse
fimse
fimse
Seleção Encadeada
Homogênea
se então se

Esta construção segue um padrão. Após cada entao existe um se, não
existem senoes; temos uma estrutura encadeada homogênea.

Outro fator importante é que o comando W só será executado quando


todas as condições forem ao mesmo tempo verdadeiras
Seleção Encadeada
Homogênea
se então se

Portanto, seria equivalente a escrever, simplificadamente:

se (<condição1> e <condição2> e <condição3> e <condição4> ) entao


Comando W
fimse

Condição
Tabela 1
decisão Condição 2 Condição 3 Condição 4 Ação

V V V V W
Seleção Encadeada
Homogênea
se senao se (É uma seleção Encadeada Homogênea?)

Suponhamos que um determinado algoritmo uma variável X possa assumir


apenas quatro valores, V1, V2, V3, V4, e que exista um comando diferente que
será executado para cada valor armazenado em X.
Seleção Encadeada
Homogênea
Teremos, por exemplo, a seguinte situação:

se (X=V1) entao
C1;
fimse
se (X=V2) entao
C2;
fimse
se (X=V3) entao
C3;
fimse
se (X=V4) entao
C4;
fimse
Seleção Encadeada
Homogênea
A tabela de decisão para o exemplo é:

X = V1 X = V2 X = V3 X = V4 AÇÃO

V F F F C1

F V F F C2

F F V F C3

F F F V C4
Seleção Encadeada
Homogênea
Somente um, e apenas um, comando pode ser executado, isto é, trata-
se de uma situação excludente (se X é igual a V3, não é igual a V1 nem a
V2 nem a V4).

Não se trata de uma estrutura encadeada, pois as seleções não estão


interligadas. Por isso todas as condições (X=Vn) serão avaliadas e
ocorrerão testes desnecessários.
Seleção Encadeada
Homogênea
Para diminuir a quantidade de testes dessa estrutura podemos
transformá-la em um conjunto de seleções encadeadas, conforme o
seguinte modelo:
Seleção Encadeada
Homogênea
se (X = V1) entao
C1;
senão se (X = V2) entao
C2;
senão se (X = V3) entao
C3;
senão se (X=V4) entao
C4;
fimse
fimse
fimse
fimse
Seleção Encadeada
Homogênea
Essa nova estrutura de seleção gera a seguinte tabela decisão:

X = V1 X = V2 X = V3 X = V4 AÇÃO

V - - - C1;

F V - - C2;

F F V - C3;

F F F V C4;
Seleção Encadeada
Homogênea
Essa construção segue um padrão, após cada senão existe outro
comando se, e depois do então existe uma ação qualquer (que não seja
outra seleção), compondo um estrutura típica que denominaremos se-
senão-se

Por constituir um encadeamento homogêneo, pode ser simplificado, e


para tal utilizaremos uma nova estrutura, a seleção de múltipla escolha.
Seleção encadeada homogênea
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-então-se.

Como essa situação é bastante frequente na


construção de algoritmo que dependem de
alternativas, utilizaremos uma estrutura específica
para estes casos, a seleção de múltipla escolha.
Seleção encadeada homogênea
múltipla escolha
O modelo que expressa as possibilidades do exemplo anterior é o
seguinte:

escolha X
caso V1: C1
caso V2: C2
caso V3: C3
caso V4: C4
fimescolha
Seleção encadeada homogênea
múltipla escolha
Para executar um comando que possui mais de um valor em que se verifica
sua necessidade, agrupamos todos esses valores em um único caso.

E, para executar um comando que se verifica com todos os outros valores,


exceto os discriminados caso a caso, incluímos outra situação: caso contrário
ou outro caso.

Em estruturas de múltipla escolha só pode ser testado condição de igualdade


Seleção encadeada homogênea
múltipla escolha
se-senão-se múltipla escolha

se (X = V1) escolha X
entao C1
senao se (X = V2)
entao C2
senao se (X = V3)
= caso V1: C1
caso V2: C2
caso V3: C3
caso V4: C4
entao C3 caso contrario: C5
senao se (X=V4) fimescolha
entao C4
senao C5
fimse
fimse
fimse
fimse
Seleção encadeada homogênea
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 junto 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:
Seleção encadeada homogênea
múltipla escolha
Código de Origem Procedência
1 SUL
2 NORTE
3 LESTE
4 OESTE
5 ou 6 NORDESTE
7,8 ou 9 SUDESTE
25 CENTRO-OESTE
Seleção encadeada homogênea
múltipla escolha
escolha Codigo
caso 1
escreva (Preco, " - Produto do Sul")
caso 2
escreva (Preco, " - Produto do Norte")
caso 3
escreva (Preco, " - Produto do Leste")
caso 4
escreva (Preco, " - Produto do Oeste")
caso 5 ou 6
escreva (Preco, " - Produto do Nordeste")
caso 7, 8 ou 9
escreva (Preco, " - Produto do Sudeste")
caso 25
escreva (Preco, " - Produto do Centro-Oeste")
outrocaso
escreva (Preco, " - Produto Importado")
fimescolha
Exercícios de Fixação
1. Faça um algoritmo para ler um numero, e se for maior que 20
imprimir a metade desse número.

2. Faça um algoritmo para ler um numero e imprimir: maior que 20,


igual a 20 ou menor que 20.

3. Ler um número inteiro e verificar se está compreendido entre


20 e 80. Se tiver, imprimir “parabéns”, senão imprimir “está fora”.

4. Faça um algoritmo que leia o ano de nascimento de uma pessoa,


calcule e mostre sua idade e, também, verifique e mostre se ela já
tem idade para votar (16 anos ou mais) e para conseguir a Carteira
de Habilitação (18 anos ou mais).

Você também pode gostar