Buscar

Expressões Lógicas e Operadores em Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Lógica de programação:
Tópicos preliminares (cont.)
Emanuele Santos
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Objetivos
• Explicar as expressões lógicas, operadores relacionais 
e lógicos
• Saber avaliar essas expressões 
2
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Expressões Lógicas
• Operadores lógicos ou relacionais
• Operandos são relações ou variáveis ou constantes 
do tipo lógico
3
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Operadores Relacionais
• Utilizados em comparações entre dois valores de 
mesmo tipo primitivo
• Valores: constantes, variáveis ou expressões 
aritméticas
4
Operador Função Exemplo
== igual a X == Y, Z == 3
> maior que X > Y, X > 18
< menor que X < Y, X < 10
>= maior ou igual a X >= Y, X <= 32
<= menor ou igual 
a
X <= Y, X <= 32
!= diferente de X != Y, X != 56
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Operadores Relacionais
• Resultado é sempre um valor 
lógico
• Exemplo
A + B == C 
O resultado pode ser 
Verdadeiro (True) ou Falso 
(False), dependendo dos 
valores de A, B e C
5
>>> A = 3
>>> B = 5
>>> C = 8
>>> A + B == C
True
>>> A = 4
>>> A + B == C
False
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Operadores Relacionais
• Exemplos
• 3 * 6 == 36/2 
• 15 % 4 < 19 % 6
• 3 * 5 // 4 <= 3**2 / 0.5
6
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Operadores Lógicos
•Três operadores lógicos
7
Operador Função Exemplo
not não (negação) not X
or ou (disjunção) X > Y or X > Z
and e (conjunção) X > Y and X < Z
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Tabelas-Verdade
• Conjunto de todas as possibilidades combinatórias 
entre os valores de diversas variáveis lógicas e um 
conjunto de operadores lógicos
8
Operação de negaçãoOperação de negação
A not A
F V
V F
Operação de conjunção e disjunçãoOperação de conjunção e disjunçãoOperação de conjunção e disjunçãoOperação de conjunção e disjunção
A B A and B A or B
F F F F
F V F V
V F F V
V V V V
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Tabelas-verdade
• Exemplo
-Se chover e relampejar, eu fico em casa.
Quando eu fico em casa?
• Quando os termos chover e relampejar forem 
simultaneamente verdade
-Se chover ou relampejar, eu fico em casa.
Quando eu fico em casa?
• Somente chovendo, somente relampejando ou 
chovendo e relampejando.
9
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Prioridade dos 
operadores lógicos
10
Prioridade Operadores
1a not
2a and
3a or
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Prioridade de todos os operadores
11
Prioridade Operadores
1a parênteses mais internos
2a operadores aritméticos
3a operadores relacionais
4a operadores lógicos
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Exemplos
• 2 < 5 and 15/3 == 5
• False or 20 //(18/3) != (21/3) // 2
• not True or 3**2/3 < 15 - 35 % 7
• not (5 != 10/2) or True and 2 - 5 > 5 - 2 or True
• 2**4 != 4 + 2 or 2 + 3 * 5/3 % 5 < 0
12
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Exercícios
13
Forbellone, pg 25
• Determine os resultados das expressões lógicas a 
seguir, sabendo que A = 2, B = 7, C = 3.5, L = False:
-a) B == A * C and (L or True)
-b) B > A or B == A**A
-c) L and B % A >= C or not A <= C
-d) not L or True and sqrt(A+B) >= C
-e) B /A == C or B/A != C
-f) L or B**A <= C * 10 + A * B
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Comando de Atribuição
• Variáveis serão do tipo de acordo com o tipo da 
expressão atribuída 
• Exemplos
14
>>> A = True
>>> type(A)
<class 'bool'>
>>> A = 5 == 3
>>> A
False
>>> X = 8 + 13 % 5
>>> B = X > 10
>>> B
True
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Blocos
• Conjunto de ações com uma função definida
• Um algoritmo pode ser visto como um bloco
• Define os limites nos quais as variáveis declaradas 
em seu interior são conhecidas
• Em python:
-O número de espaços no começo da linha indica o 
bloco
-Os blocos são construídos adicionando-se 4 
espaços ao começo de cada linha
15
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Exercício
• Utilizando o seguinte trecho de um programa em 
python, explique o que está acontecendo em cada 
linha e mostre o resultado de cada linha executada:
16
x = int(input(“Entre com o valor de x:”))
print(“x elevado ao cubo = ”, x**3)
y = int(input(“Entre com o valor de y:”))
print(x+y)
z = x/y
print(z)
z = z+1
x = (y+x) % 2
print(x)
Baseado em Forbellone, pg 28 e 29
Estruturas de Controle:
Estrutura sequencial e de 
seleção (condicional)
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Objetivos
• Apresentar o conceito de estrutura sequencial de 
fluxo de execução
• Explicar a aplicabilidade das estruturas de seleção 
(ou condicionais), suas variantes, combinações e 
equivalências
18
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Criação de Algoritmos
• Conceitos utilizados
-Bloco lógico
-Entrada e saída de dados
-Variáveis
-Constantes
-Atribuições
-Expressões lógicas, relacionais e aritméticas
-Outros comandos
19
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Criação de Algoritmos
• Conceitos organizados em ações executadas 
conforme uma relação lógica (fluxo de execução)
-Estruturas de controle de fluxo de execução
• Sequenciação, seleção (condicional) e de 
repetição
20
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Estrutura sequencial
• Instruções são executadas linearmente na ordem 
em que foram escritas
-de cima para baixo
-da esquerda para direita
• Em python, cada instrução ocupa uma linha
21
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Estrutura sequencial
• Modelo geral de algoritmo
22
x = int(input(“Entre com o valor de x:”))
print(“x elevado ao cubo = ”, x**3)
y = int(input(“Entre com o valor de y:”))
print(x+y)
z = x/y
print(z)
z = z+1
x = (y+x) % 2
print(x)
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Estrutura sequencial
• Exemplo
• Algoritmo que calcule a média aritmética 
ponderada entre quatro notas bimestrais (pesos 
P1 = 1, P2 = 2, P3 = 3, P4 = 4) fornecidas por um 
aluno (usuário).
-Dados de entrada: quatro notas bimestrais (N1, 
N2, N3, N4)
-Dados de saída: Média aritmética ponderada
-Cálculo da média aritmética ponderada:
• (N1 * P1 + N2 * P2 + N3 * P3 + N4 * P4)/(P1 
+ P2 + P3 + P4)
23
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2Estrutura sequencial
24
#inicialização dos pesos
P1 = 1
P2 = 2
P3 = 3
P4 = 4
#entrada das notas
N1 = float(input(“Entre com a nota 1”))
N2 = float(input(“Entre com a nota 2”))
N3 = float(input(“Entre com a nota 3”))
N4 = float(input(“Entre com a nota 4”))
#cálculo da média aritmética ponderada
M = (N1*P1 + N2*P2 + N3*P3 + N4*P4)/(P1+P2+P3+P4)
print(“A média aritmética ponderada é ”, M)
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Estrutura Sequencial: Exercício
•Construa um algoritmo que recebe dois pontos 
quaisquer num plano P1(x1,y1) e P2(x2,y2) e 
mostra a distância d entre eles.
25
d =
p
(x2 � x1)2 + (y2 � y1)2
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Estruturas de seleção
• Permite a escolha de um grupo de ações (bloco) a 
ser executado quando determinadas condições 
(expressões lógicas ou relacionais) são ou não 
satisfeitas
26
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Seleção simples
• Teste de uma condição antes de executar uma ação
if <condição>:
 <comando 1> #um comando qualquer
onde <condição> é uma expressão lógica que pode 
retornar falso ou verdadeiro
se <condição> for verdadeira, <ação 1> é 
executada. Caso contrário, a seleção termina e os 
comandos no mesmo bloco do if são executados 
(se houver)
27
4 espaços delimitando um novo bloco
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Seleção simples
28
• Pode haver mais de um comando dentro do bloco:
• Se <condição> for verdadeira, que comandos serão 
executados?
• E se <condição> for falsa?
if <condição> :
 comando 1
 comando 2
 comando 3
comando 4
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Seleção simples
• Modifique o algoritmo da média aritmética 
ponderada de forma que mostre se o aluno foi 
aprovado (média superior ou igual a 7)
29
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
• Pode haver mais de um comando dentro do bloco:
• Se <condição> for verdadeira, que comandos serão 
executados?
• E se <condição> for falsa?
Seleção Composta
30
if <condição> :
 comando 1
 comando 2
 comando 3
else:
 comando 4
 comando 5
comando 6
UFC - Universidade Federal do Ceará
Fundamentos de Programação - Professora Emanuele Santos - Período 2013.2
Seleção composta
• Modifique o algoritmo da média aritmética 
ponderada de forma que mostre se o aluno foi 
aprovado (média superior ou igual a 7) ou 
reprovado.
31

Outros materiais