Introdução à Lógica de
Programação (cont.)
Luis Otavio Alvares
Adaptado de slides das profas. Vania Bogorny, Patrícia Jaques e Mônica Py
1
Operadores
Lógica de
programação
– Usados para incrementar, decrementar, comparar e
avaliar dados, que são operações básicas em
processamento de dados.
– Tipos:
• Aritméticos (+, -, *, /, ** ou ^)
– Resultados numéricos
• Relacionais (>, <, >=, <=, =, <> ou #)
– Resultados lógicos (V ou F)
• Lógicos (e, ou, não)
– Combinam resultados lógicos
Precedência dos operadores
2
Lógica de
programação
• Operadores relacionais são muito usados quando
temos que tomar decisões nos algoritmos. Com
eles fazemos testes, comparações, que resultam
em valores lógicos (verdadeiro ou falso):
Exemplo:
tendo duas variáveis, A = 5 e B = 3:
3
Exercícios
6) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os
valores abaixo, informe se as expressões são verdadeiras ou
falsas.
7) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo
são verdadeiras ou falsas.
a) (A+C) > B
( )
b) B >= (A + 2) ( )
c) C = (B –A) ( )
d) (B + A) <= C ( )
e) (C+A) > B
( )
4
Lógica de
programação
• Operadores lógicos combinam resultados lógicos,
gerando novos valores lógicos (verdadeiro ou
falso). A “tabela-verdade” abaixo mostra todos os
valores possíveis de se obter com oper. lógicos:
T = Verdad.
F = Falso
AND = E
OR = OU
NOT = NÃO
5
Lógica de
programação
• Combinando operadores relacionais e operadores lógicos criamos operações lógicas, que produzirão resultados lógicos (verdadeiro ou falso).
Por exemplo, se A = 5, B = 8 e C = 1:
–
–
–
–
–
–
(A = B) E (B > C)
(A <> B) OU (B < C)
NÃO (A > B)
(A < B) E (B > C)
(A >= B) OU (B = C)
NÃO (A <= B)
é
é
é
é
é
é
falso (f e v)
verdadeiro (v ou f)
verdadeiro (não f)
verdadeiro (v e v)
falso (f ou f)
falso (não v)
• São usadas em decisões nos algoritmos...
6
Exercícios
8. Considere a seguinte atribuição de valores para as
variáveis: A=3, B=4, C=8. Avalie as expressões a
seguir indicando o resultado final: verdadeiro ou falso.
1)
2)
3)
4)
5)
6)
7)
8)
9)
A
A
A
A
A
B
A
A
C
>3EC=8
<> 2 OU B <= 5
= 3 OU B >= 2 E C = 8
= 3 E NÃO B <= 4 E C = 8
<> 8 OU B = 4 E C > 2
> A E C <> A
> B OU B < 5
<> B E B = C
> 2 OU A < B
10) A > B OU B > A E C <> B
(
(
(
(
(
(
(
(
(
)
)
)
)
)
)
)
)
)
( )
7
Exercícios
9) 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) AND (C <= D)
( )
b) (A+B) > 10 OR ((A+B) = (C+D)) ( )
c) (A>=C) AND (D >= C)
( )
8
Decisão em algoritmos
• Os algoritmos vistos até agora eram
sequenciais, isto é, todas as operações eram
realizadas em sequência.
• Muitos problemas reais exigem a tomada de
decisão no algoritmo, com mais de um
caminho sendo possível de ser seguido.
9
Lógica de
programação
• ESTRUTURAS DE DECISÃO
– Comandos de decisão ou desvio fazem parte das
técnicas de programação, para construir estruturas de
algoritmos que não são totalmente seqüenciais.
– Com as instruções de desvio pode-se fazer com que o
algoritmo proceda de uma ou outra maneira, de acordo
com as decisões lógicas tomadas em função dos dados
ou resultados anteriores.
– As principais estruturas de decisão são:
• SE...ENTÃO
• SE...ENTÃO...SENÃO
• CASO FOR...ENTÃO
10
SE ... ENTÃO ...
Lógica de
programação
- Formato:
• Se <condição> então <ações>
• Significado: Se a <condição> resultar em verdadeiro,
então executar as <ações>. Senão, simplesmente
ignorar as <ações> e seguir para a próxima instrução
no algoritmo.
• Usada para decidir se um conjunto de ações
opcionais deve ser executado ou não, dependendo do
valor de algum dado ou de algum resultado que já
tenha sido calculado no algoritmo.
11
Lógica de
programação
• Exemplo da estrutura SE...ENTÃO:
“Avisar se um número lido é negativo.”
– PSEUDOCÓDIGO:
Ler N
Se (N < 0)
então exibir “É negativo!”
INÍCIO
– FLUXOGRAMA:
Ler N
CONDIÇÃO:
Poderá ser V ou F, dependendo do valor de N, que
foi lido antes.
N<0
Sim
Mostra:
“É negativo!”
Não
FIM
12
SE ... ENTÃO ...SENÃO...
Lógica de
programação
- Formato:
Se <condição>
então <ações 1>
senão <ações 2>
• Significado: Se a <condição> resultar em verdadeiro,
então executar <ações 1>. Senão, ignorar <ações
1> e executar <ações 2>.
• Usada para decidir entre duas alternativas de ações.
• Um dos dois conjuntos de ações será executado e o
outro não, dependendo do valor de algum dado ou de
algum resultado que já tenha sido calculado no
algoritmo.
• O valor do dado ou do resultado anterior será testado
na condição, determinando qual conjunto de ações
será executado.
13
Lógica de
programação
• Exemplo da estrutura SE...ENTÃO...SENÃO:
“Mostrar a diferença entre 2 números quaisquer.”
– PSEUDOCÓDIGO:
Ler N1
Ler N2
Se (N1 > N2)
então DIF = N1 - N2
senão DIF = N2 - N1
Mostrar DIF
– O que acontece se os dois números forem iguais?
– O que acontece se um ou os dois números forem negativos?
14
Lógica de
programação
INÍCIO
– FLUXOGRAMA:
N1
N2
DIF = N2 - N1
Não
N1 > N2
Sim
DIF = N1 - N2
DIF
FIM
15
Exercícios
• Faça um algoritmo que leia um número
e mostre o número lido e uma
mensagem indicando se este número é
par ou ímpar e se é positivo ou
negativo.
16
Exercício
• Escrever um algoritmo para ler dois
números. Imprimir os dois números. Se
os números forem iguais imprimir a
mensagem: “Números iguais” e encerrar
a execução; caso contrário, imprimir o
de maior valor, acompanhando pela
mensagem “é o maior número”.
17
Exercício
• Elabore um algoritmo que, dada a idade de um
nadador, classifique-o em uma das seguintes
categorias:
– Infantil : 5 a 10 anos;
– Juvenil : 11 a 17 anos;
– Sênior: 18 anos ou mais.
• Faça um algoritmo que leia duas notas obtidas por um
aluno na disciplina de Cálculo, o número de aulas
ministradas e o número de aulas assistidas por este
aluno nesta disciplina. Calcule e mostre a média final
deste aluno e diga se ele foi aprovado ou reprovado.
Considere que para um aluno ser aprovado ele deve
obter média final igual ou maior a 6 e ter no mínimo
75% de freqüência.
18
• Desenvolva um algoritmo que efetue a leitura de três
valores correspondentes ao tamanho dos lados de um
triângulo, considerando lados como: A, B e C. O
algoritmo deverá verificar se os lados fornecidos
formam realmente um triângulo. Se for esta condição
verdadeira, deverá ser indicado qual tipo de triângulo foi
formado: isósceles (dois lados iguais e um diferente),
escaleno (todos os lados diferentes) ou eqüilátero
(todos os lados são iguais).
19
Download

Slides