Você está na página 1de 38

1

Desvios Condicionais
Curso: Tcnico em Informtica
Disciplina: Algoritmos
Prof. Abraho Lopes
abrahao.lopes@ifrn.edu.br

Contedo
2

Desvio simples (SE)


Desvio composto (SE / SENO)
Desvios encadeados
Operadores lgicos (E / OU)
Desvio com condio mltipla (CASO)

Desvio simples (SE)


3

Algumas vezes precisamos fazer com que o


computador execute uma instruo apenas se
determinada condio acontecer.
Chamamos esse tipo de situao de Desvio
Condicional.
Exemplo: A lmpada deve ser trocada apenas SE ela
estiver queimada.

Desvio Simples (SE)


4

Representamos essa situao graficamente como


mostrado abaixo:
INICIO

NO

SIM
QUEIMADA?

FIM

TROCAR

Desvio Simples (SE)


5

A pergunta feita atravs do comando SE.


O comando verifica o contedo de uma varivel e
caso o teste lgico retorne VERDADEIRO (ou SIM),
o comando executado.
Caso o teste lgico retorne FALSO (ou NO), o
comando no executado e o programa continua
aps a instruo FIMSE.

Desvio Simples (SE)


6

Observe o exemplo abaixo:

Quer saber se o valor de X 10


Neste caso a resposta SIM
O comando executado!

Desvio Simples (SE)


7

Se mudarmos o valor de x para 5, veja que o


comando no ser executado.

Neste caso a resposta NO


O programa salta para linha 12

Desvio Simples (SE)


8

Os operadores que podem ser usados para as


perguntas so:
OPERADOR

DESCRIO

IGUAL

>

MAIOR QUE

<

MENOR QUE

>=

MAIOR OU IGUAL A

<=

MENOR OU IGUAL A

<>

DIFERENTE

Exerccios
9

1.

Faa um programa que o usurio digite um valor e


caso o valor seja positivo, mostre a mensagem
MUITO BEM.

2. Faa um programa que o usurio digite dois valores

e se o segundo valor for maior que o primeiro,


mostre a mensagem ACERTOU.

Resposta 1
10

Resposta 2
11

Desvio Composto (SE / SENO)


12

Nos programas que fizemos, o ideal seria que caso a


condio no fosse atendida, uma mensagem de erro
fosse mostrada.
Podemos fazer isso atravs de um desvio composto,
que executa um comando quando a resposta SIM e
outro comando diferente quando a resposta NO.
Observe o diagrama a seguir:

Desvio Composto (SE / SENO)


13

INICIO

ACIONAR
INTERRUPTOR

NO
TROCAR

SIM
ACENDEU?

FIM

APAGAR

Desvio Composto (SE / SENO)


14

Em algoritmo fica assim:

A linha 10 executada apenas


quando a resposta SIM

A linha 12 executada apenas


quando a resposta NO

Exerccios
15

3. Faa um programa que o usurio digite um valor e


caso o valor seja maior ou igual a zero, mostre a
mensagem POSITIVO, caso contrrio mostre a
mensagem NEGATIVO.
4. Faa um programa que o usurio digite dois valores
e se o segundo valor for maior que o primeiro,
mostre a mensagem O SEGUNDO MAIOR,
caso contrrio, mostre NO ULTRAPASSA O
PRIMEIRO.

Resposta 3
16

Resposta 4
17

Desvios Encadeados
18

H ocasies em que dentro de um SE ou SENO


precisamos realizar um novo teste.
Veja o exemplo abaixo:
Um programa l dois nmeros e diz qual o maior ou
se so iguais.

Desvios Encadeados

INICIO
19

L X e Y

NO

SIM
X=Y?

NO
ESCREVA Y
MAIOR

X>Y?

SIM

ESCREVA SO
IGUAIS

ESCREVA X
MAIOR

FIM

Desvios Encadeados
20

Em algoritmo:

Exerccio
21

5. O Mossor West Shopping agora usa uma nova


tarifao para o estacionamento, mostrado na tabela
abaixo:
TEMPO

VALOR

AT 15 MINUTOS

GRTIS

AT 60 MINUTOS

R$ 1,00

ACIMA DE 60 MINUTOS

R$ 2,00

O programa recebe o tempo em minutos e diz quando


o usurio precisa pagar.

Resposta 5
22

Exerccio
23

6. O usurio digita trs lados de um triangulo e o


programa diz se os valores formam ou no um
tringulo.
Pela regra, para se formar um tringulo, cada lado tem
que ser menor que a soma dos outros dois lados. Ou
seja (C < A+B), (B< A+C) e (A< B+C).

Resposta 6
24

Operadores Lgicos
25

Alguns problemas se tornam muito complexos


quando usamos desvios encadeados. Podemos
simplific-los agrupando condies atravs dos
operadores lgicos E e OU .
Observe o Exerccio 6 reescrito usando o operador E.

Operadores Lgicos
26

Um nico SE usado

Operadores Lgicos
27

Regras dos operadores


Operador E - O teste considerado
VERDADEIRO se todas as comparaes forem
verdadeiras (ao responder SIM em todas as
perguntas)
Operador OU - O teste considerado
VERDADEIRO se qualquer das comparaes forem
verdadeiras (ao responder SIM em pelo menos uma
das perguntas)

Exerccio 7
28

Diga se verdadeiro ou falso


a <- 3
b <- 4
c <- 5
1) (A > B) E (B > C)
2) (A < C) E (A > B)
3) (A < B) E (B < C)
4) (A > B) OU (B > C)
5) (A < C) OU (A > B)
6) (A < B) OU (B < C)
F, F, V, F, V, V

Exerccio 8
29

Faa um programa que pergunte ao usurio seu


login e sua senha. O sistema s libera o acesso se as
duas informaes estiverem corretas.

Resposta 8
30

Exerccio 9
31

Faa um programa que simule uma votao em que o


usurio pode votar no candidato A, cujo numero
73, ou no candidato B, cujo nmero 98. Ao ser
digitado um desses nmeros, o programa diz VOTO
CONFIRMADO. Se digitar qualquer outro nmero,
diz VOTO NULO.

Resposta 9
32

Exerccios
33

10. Faa um programa que pea ao usurio para digitar


um nmero entre 20 e 30. Se o valor estiver fora
dessa faixa, mostra uma mensagem de erro.
11. Faa um programa que pea ao usurio para digitar
nmeros abaixo de 10 ou acima de 50. Se o valor
digitado no satisfaz essa condio, mostre uma
mensagem de erro.

Desvio com condio mltipla


34

H ocasies em que podemos agrupar diversos SE


numa estrutura mais prtica chamada ESCOLHA.
Esse comando permite executar diferentes comandos
para diferentes valores de uma mesma varivel.
Observe o exemplo:
O programa l 2 valores e exibe um menu com 3
opes: somar, subtrair ou multiplicar.

Desvio com condio mltipla


35

Desvio com condio mltipla


36

A estrutura caso tambm aceita mltiplos valores em


uma mesma condio.

Exerccio 12
37

O programa pergunta o nome do usurio e diz sua


profisso de acordo com a tabela abaixo:
Usurio

Profisso

Pedro

Gerente

Maria

Vendedora

Alice

Supervisora

Carlos

Diretor

Se o usurio no estiver na lista, mostra a frase


USURIO DESCONHECIDO.

Resposta 12
38