Você está na página 1de 34

PROGRAMA DE INFORMTICA BSICA

Programando Deciso
Comandos if, else, select case;
Operadores relacionais e lgicos
Prof. Joo Dallyson

Objetivo

Tomada de deciso simples


Deciso composta
Deciso Encadeada
Operadores relacionais
Operadores lgicos
Tomada de Deciso por Seleo

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

Introduo
Classificao das Estruturas de Deciso:
Condicional Simples;
uma nica expresso lgica avaliada.

Condicional Composta;
Seleo entre duas ou mais sequncias de
comandos.

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

LINGUAGEM FORTRAN
- OPERADORES RELACIONAIS
Smbolo

Significado

Igual - Equal to

.EQ.

==

Diferente - Not equal

.NE.

/=

>

Maior - Greater than

.GT.

>

<

Menor - Less than

.LT.

<

>=

Maior ou igual
Greater than or equal to

.GE.

>=

<=

Menor ou igual
Less than or equal to

.LE.

<=

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)


Computao

Fortran

Introduo

Estrutura condicional simples


Tem a finalidade de tomar uma deciso e efetuar
um desvio no fluxo de execuo do programa,
dependendo da condio atribuda ser Verdadeira
ou Falsa.
Se (<condio> ) ento
<instruo>
fim_se

FONTE: MANZANO (2013)


06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

Estrutura condicional simples

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

Estrutura condicional simples


ESTRUTURA DE CONTROLE: DESVIO SIMPLES

ALGORITMO

Fortran

SE ( condio) ENTO

IF (condio) THEN

< Instrues >

FIM-SE
06/11/2014

< Instrues >

ENDIF
Prof. Joo Dallyson (DEINF UFMA)
Computao

Introduo

LINGUAGEM FORTRAN
Exem. VERIFICA SE NMERO IGUAL AO NMERO 5
1 ler um nmero
2 - verificar se ele igual ao nmero 5

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)


Computao

Introduo

LINGUAGEM FORTRAN
ESTRUTURA DE CONTROLE: DESVIO SIMPLES
algoritmo "verifica Numero1

Fortran

var
numero: inteiro
imprima ("Digite um numero:")

INTEGER numero
PRINT *, Digite um nmero

leia(numero)

READ *, numero

SE (numero = 5) ENTAO

IF ( numero == 5 ) THEN

escreva("Voce digitou o numero cinco")


FIM_SE

Fim_algoritmo
06/11/2014

PRINT *, Voc digitou o nmero 5


ENDIF

STOP
END
Prof. Joo Dallyson (DEINF
UFMA)
Computao

Introduo

LINGUAGEM FORTRAN
Exem.
Ler dois nmeros , efetuar a adio e apresentar
o seu resultado caso o valor somado seja
maior que 10.

1 - ler dois nmeros


2 - somar os dois nmeros
3 - mostrar o resultado qdo a soma for maior
que 10
06/11/2014

Prof. Joo Dallyson (DEINF UFMA)


Computao

Introduo

10

LINGUAGEM FORTRAN
ESTRUTURA DE CONTROLE: DESVIO SIMPLES
algoritmo Teste de soma

Fortran

var
a,b,c : REAL
imprima ("Digite dois numeros:")

REAL a,b,c
PRINT *, Digite dois nmeros

leia ( a,b)

READ *, a,b

c=a+b

C=a+b

SE (c > 10) ENTAO

IF ( c > 10 ) THEN

escreva( Soma maior que dez, c)


FIM_SE
06/11/2014

PRINT *, Soma maior que dez, c


ENDIF

Prof. Joo Dallyson (DEINF UFMA)


Computao

Introduo

11

Estrutura condicional simples


Exerccio: Algoritmo ordenar 2 elementos
1. Conhecer dois valores inteiros (A e B)
2. Verificar se o valor de A maior que o valor de B
a) Se for verdadeiro efetuar a troca (usar varivel auxiliar) de
valores das variveis
b) Se for falso, executar passo 3

3. Exibir os valores das duas variveis.

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

12

Desvio condicional composto


Determina a execuo de um bloco de comandos
se uma condio lgica for verdadeira ou falsa

FONTE: (MANZANO, 2013)


06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

13

LINGUAGEM FORTRAN
ESTRUTURA DE CONTROLE: DESVIO COMPOSTO

ALGORITMO

SE ( condio) ENTO

< Instrues >


SENAO

06/11/2014

IF (condio) THEN

< Instrues >


ELSE

< Instrues >


FIM-SE

Fortran

< Instrues >


ENDIF

Prof. Joo Dallyson (DEINF UFMA)


Computao

Introduo

14

LINGUAGEM FORTRAN
Ex:
1 leia dois nmeros
2 somar os dois nmeros
3 se a soma for maior ou igual a 10, subtraia o resultado
de 7
4 se a soma for menor que 10, subtraia o resultado de 5

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)


Computao

Introduo

15

LINGUAGEM FORTRAN
ALGORITMO
Programa TESTE2

Fortran
C

Programa TESTE2

VAR
A,B.X: INTEIRO

INTEGER A,B,X

IMPRIMA Entre com A , B

PRINT *, Entre com A e B

LEIA A,B

READ(*,*) A,B

C=A+B

C=A+B

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)


Computao

Introduo

16

LINGUAGEM FORTRAN
CONTINUAO

ALGORITMO

SE ( X 10) ENTAO
IMPRIMA

X-7

SENAO

Fortran (CONT)

IF(X >= 10) THEN


PRINT *, X - 7
ELSE

IMPRIMA X 5
FIM-SE

PRINT *, X - 5
ENDIF
STOP

FIM

06/11/2014

END

Prof. Joo Dallyson (DEINF UFMA)


Computao

Introduo

17

Deciso composta
Exemplo:
Programa leitura 3 notas e calcula a mdia. Se mdia
maior ou igual a 7, Aluno Aprovado, Seno, Aluno
Reprovado.

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

18

Desvio condicional encadeado

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

19

Desvio condicional encadeado

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

20

Desvio Condicional Encadeado

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

21

Operadores Lgicos
Representam as operaes bsicas da Lgica matemtica
Existem ocasies em que necessrio trabalhar com
relacionamento de duas ou mais condies
O operador .and. utilizado quando dois ou mais
relacionamentos lgicos necessitam ser verdadeiros.

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

22

Operadores Lgicos
Exemplo operador .and.:
Escreva um programa que aceite valores numricos
inteiros entre 0 e 9. Se o valor estiver dentro da faixa
o programa deve apresentar a mensagem valor
vlido. Caso contrrio, o programa deve apresentar
a mensagem valor invlido.

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

23

Operadores Lgicos

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

24

Operadores Lgicos
Exemplo operador .OR.

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

25

Tomada de Deciso por Seleo


uma alternativa mais
rpida ao uso de tomadas
de deciso sequenciais ou
encadeadas;
Pode ser utilizada em
situaes em que se tem
um grande nmero de
verificaes lgicas;

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

26

LINGUAGEM FORTRAN

Usando CASO

Usando CASE (FORTRAN)

SELECIONE CASO (condio)

SELECT CASE (condio)

CASO (<seleo>) <comando>

CASE (<seleo>) <comando>

CASO (<seleo>) <comando>

CASE (<seleo>) <comando>

CASO contrario

CASE DEFAULT <comando>

<comando>

FIM_SELEO

06/11/2014

END SELECT

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

28

LINGUAGEM FORTRAN
Devolve um nmero por extenso
ALGORITMO

algoritmo devolve Numero


inicio
var
numero: inteiro
escreva "Digite um numero:"
leia(numero)

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

PROG. DEVOLVE NMERO

INTEGER numero
WRITE(*,*) "Digite um

numero:"

READ(*,*) numero

Introduo Computao

29

LINGUAGEM FORTRAN
Cont
ALGORITMO
.....
ESCOLHA (seleo)

CASO (numero = 1)
escreva (" UM )
CASO (numero = 2)
escreva (" DOIS " )
CASO contrario

escreva (" diferentes )


FIM_ESCOLHA
06/11/2014

SELECT CASE (numero)

CASE(1)
write(*,*) UM
CASE(2)
write(*,*) DOIS
CASE DEFAULT

write(*,*) No se aplica
END SELECT

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

30

Ex: Calculadora

OBS: O uso de caracter no select


Case Vai depender do compilador

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

31

Exerccio
1) Escreva um programa que leia dois valores reais e
independentemente da ordem em que foram
lidos, eles devem ser impressos na ordem
crescente, ou seja, se forem fornecidos 7,7 e 3,4,
devem ser apresentados 3,4 e 7,7.
2) Escreva um programa para ler dois valores
numricos inteiros ou reais e exiba a diferena do
maior para o menor.
3) Ler cinco nmeros inteiros e identificar o maior e
o menor.
06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

32

Exerccio
5) Escreva um programa em C que receba trs
nmeros inteiros diferentes digitados no teclado e
imprima a soma, a mdia, o produto, o menor e o
maior desses nmeros. A tela deve aparecer como se
segue:

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

33

Referncias
MANZANO, J. A. N. G; OLIVEIRA, J. F. Algoritmos: Lgica
para Desenvolvimento de Programao de
Computadores. 26 Ed. So Paulo: rica, 2013;
MANZANO, J. A. N. G; OLIVEIRA, J. F. Algoritmos:
Estudo Dirigido. 15 Ed. So Paulo: rica, 2013;
Wiki para programadores em C
http://www.br-c.org/doku.php

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

34

Perguntas....

06/11/2014

Prof. Joo Dallyson (DEINF UFMA)

Introduo Computao

35

Você também pode gostar