Sei sulla pagina 1di 18

Algoritmos e Lgica de Programao

Prof. Luis Fernando Pacheco Pereira


luis.pereira@ibta.edu.br

Desafio
Um homem precisa atravessar um rio com um barco que possui
capacidade apenas para carregar ele mesmo e mais uma de suas
trs cargas, que so: um lobo, um bode e um mao de alfafa.
O que o homem deve fazer para conseguir atravessar o rio sem
perder suas cargas ?
Escreva um algoritmo (fluxograma e pseudocdigo) mostrando a
resposta.
Obs:
O lobo come o bode se ficar sozinho com ele
O bode come a alfafa se ficar sozinho com ela
2

Problema de Lgica

Andr e quatro amigos praticam esportes diferentes. Com base nas dicas determine o nome e
sobrenome de cada homem e o esporte que pratica.
a) Joo pratica pesca. Um sobrenome Sr. Soares.
b) O Sr. Saraiva no pratica ciclismo, ele pratica golfe.
c) Nem Davi Silva nem o Sr. Rocha praticam natao.
d) O esporte de Pedro (cujo sobrenome no Bernardes) canoagem.
e) Nem o Sr. Bernardes nem Mauro praticam natao.

Nome
Andr
Joo
Davi
Pedro
Mauro

Sobrenome
Soares
Bernardes
Silva
Rocha
Saraiva

Esporte
Natao
Pesca
Ciclismo
Canoagem
Golfe

ESTRUTURAS CONDICIONAIS
SE OU IF

Condies
Condies sero usadas sempre que precisarmos testar o valor de uma
varivel.
Desta forma podemos definir instrues que sero executadas caso
uma condio seja verdadeira e instrues alternativas, caso a condio
no seja verdadeira.

incio

abrir
forno
no

forno
apagado
?

sim

acender
fogo
colocar po
para assar
fim

Formas Usadas no Fluxograma

Fluxograma: Encontrar o Maior Nmero


Incio
Verdadeiro
Escreva o 1
nmero:

A>B

Falso

A
B
Escreva o 2
nmero:

B
Fim

Algoritmo: Encontrar o Maior Nmero


Algoritmo PROGRAMA_EXEMPLO
Variveis
A, B: REAL

Inicio
ESCREVA ("Digite o primeiro numero: ")
LEIA ( A )
ESCREVA ("Digite o segundo numero: ")
LEIA ( B )
SE ( A > B ) ENTAO
ESCREVA (O maior numero eh: , A)
SENAO
ESCREVA (O maior numero eh: , B)
FIMSE

IF (condio) {
Instruo 1;
Instruo 2;
}
ELSE {
Instruo 3;
Instruo 4;
}

Fim
9

Operadores Relacionais
Operaes
Maior
Maior Igual

Operadores
>
>=

Menor
Menor Igual
Diferente

<
<=
<>

Igual

Java
>
>=
<
<=
!=
==

Exemplo:
SE NUM = 20 ENTAO
ESCREVA (O NUMERO INFORMADO E O NUMERO 20!);

FIMSE

10

Exerccios
Exercicio 1 Tendo como dado de entrada a altura (em centmetros) de uma
pessoa, construa um algoritmo que calcule seu peso ideal, utilizando a seguinte
frmula se ela for do sexo feminino: peso_ideal (0.621 * altura) - 44.7. Para o
sexo masculino, a frmula : peso_ideal altura - 100 - (altura 150) / 4.
Exerccio 2 Utilize SE e faa um algoritmo que receba um nmero e mostre uma
mensagem diferente caso nmero maior que 80, menor que 25 ou igual a 40.

Exerccio 3 Utilize SE e faa um algoritmo que leia trs nmeros diferentes,


identifique o maior, o intermedirio e o menor e ento imprima uma mensagem
dizendo que posies eles ocupam.
11

Problema: Encontrar a Mdia entre Duas Notas


e analisar situao do aluno Aprovado
ou Reprovado Caso Mdia >=7

Fazer o fluxograma e o pseudocdigo

12

Fluxograma: Encontrar a Mdia entre Duas


Notas
Incio

MEDIA

Escreva o 1
nmero:

Verdadeiro

A
MEDIA >= 7

Aprovado

Escreva o 2
nmero:

Falso
B
MEDIA (A+B) / 2

Reprovado

Fim
13

Pseudocdigo: Encontrar a Mdia entre Duas Notas


e analisar situao do aluno Aprovado
ou Reprovado Caso Mdia >=7
Algoritmo PROGRAMA_EXEMPLO
Variaveis
A, B, MEDIA: REAL

Inicio
ESCREVA ("Digite a nota da primeira prova:")
LEIA ( A )
ESCREVA("Digite a nota da segunda prova:")
LEIA ( B )
MEDIA (A + B) / 2
ESCREVA (A MEDIA E: , MEDIA)
SE (MEDIA >= 7) ENTAO
ESCREVA (APROVADO!)
SENAO
ESCREVA (REPROVADO!)
FIMSE
Fim

14

Algoritmo: Calcular Mdia e verificar se o aluno est


aprovado, reprovado ou recuperao.
Algoritmo PROGRAMA_EXEMPLO
Variaveis
A, B, MEDIA: REAL

Inicio
ESCREVA ("Digite a nota da primeira prova:")
LEIA ( A );
ESCREVA("Digite a nota da segunda prova:")
LEIA ( B )
MEDIA (A + B) / 2
ESCREVA (A MEDIA E: , MEDIA)
SE ( MEDIA >= 7 ) ENTAO
ESCREVA (Aprovado!)
SENAO
SE ( MEDIA >= 5 ) ENTAO
ESCREVA (Recuperao!)
SENAO
ESCREVA (Reprovado!)
FIMSE
FIMSE
Fim

15

Operadores Lgicos

Exemplo Operador E em pseudocdigo


SE (NUM > 20) E (NUM < 30) ENTAO

em Java:
&&

ESCREVA (O NUMERO EH MAIOR QUE 20 E MENOR QUE 30!)

FIMSE
Exemplo Operador OU em pseudocdigo
SE (NUM > 20) OU (NUM < 30) ENTAO

em Java:
||

ESCREVA (O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30!)

FIM_SE

16

Exerccio com Operadores Lgicos

Faa um algoritmo para ser utilizado na alfndega de um


aeroporto para decidir sobre a entrada de um estrangeiro. As
condies para entrada so:
Deve comprovar vnculo de emprego no pas de origem OU
U$ 100 por dia de permanncia E passagem de volta.
O fiscal pergunta ao estrangeiro e verifica os documentos,
informando ao algoritmo cada uma das condies e o
algoritmo toma a deciso informando ao fiscal se o
estrangeiro entra ou no.
17

Algoritmos e Lgica de Programao


Prof. Luis Fernando Pacheco Pereira
luis.pereira@ibta.edu.br

Potrebbero piacerti anche