Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula #04
Programação: Operadores e Expressões
Operadores disponíveis em Python? Como programar expressões?
Como aplicar tais conceitos no Python?
2
Expressões Aritméticas
Expressões aritméticas consistem em expressões matemáticas onde os
operadores são aritméticos e os operandos são numéricos
= Atribuição Binário
5
Expressões Aritméticas
Operador Descrição Tipo
+ Adição Binário
- Subtração Binário
* Multiplicação Binário
/ Divisão Binário
^ Exponenciação Binário
√ Radiciação Binário
6
Expressões Aritméticas
7
Expressões Aritméticas
5 + 5
C OA C
c = 5 + a * 2
V OA C OA V OA C
a * 10
V OA C
a = 3.1415 * r ^ 2
V OA C OA V OA C
a^b
V OA V
8
Expressões Aritméticas
PRECEDÊNCIA DE OPERADORES
9
Expressões Aritméticas
= Atribuição Binário –
10
Expressões Aritméticas
Operador Descrição Tipo Precedência
+ Adição Binário 4
- Subtração Binário 4
* Multiplicação Binário 3
/ Divisão Binário 3
% Módulo Binário 3
11
Expressões Aritméticas
Sabendo da precedência dos operadores, é relativamente simples identificar a
ordem de execução das operações na expressão a seguir:
a b c
10 + 2 * 0.5 ^ 2
1º) 10 + 2 * 0.5 ^ 2
2º) 10 + 2 * 0.25
3º) 10 + 0.5
4º) 10.5
12
Expressões Aritméticas
Mas e quando existem múltiplas operações com a mesma precedência na
expressão aritmética?
ASSOCIATIVIDADE
13
Expressões Aritméticas
A associatividade pode ser…
★ à esquerda: operações processadas da esquerda para a direita
★ à direita: operações processadas da direita para a esquerda
Note que a escolha por uma associatividade ou outra pode alterar o resultado
da expressão aritmética!
14
Expressões Aritméticas
Associatividade à esquerda Associatividade à direita
a b c a b c
8 / 1 *4 *2 8/1*4*2
1º) 8 / 1 *4 *2 1º) 8 / 1 * 4 * 2
2º) 8 * 4 * 2 2º) 8 / 1 * 8
3º) 32 * 2 3º) 8 / 8
4º) 64 4º) 1
15
Expressões Aritméticas
Porém, a precedência de operadores pode ser alterada utilizando parênteses
nas expressões aritméticas
1º) 10 * ( 2 + 5 - 1) ^ 2
2º) 10 * (7 - 1) ^ 2
3º) 10 * 6 ^ 2
4º) 10 * 36
5º) 360
17
Expressões Aritméticas
Qual é o tipo de dados retornado pelas expressões aritméticas em Python?
21
Expressões Aritméticas
Considere a seguinte expressão aritmética:
10 + (25 - 5 ) * 2 + (10 // 3) ** 2
EXPRESSÕES RELACIONAIS
= Igualdade
≠ Diferente de
24
Expressões Relacionais
expressão = expressão: retorna verdadeiro quando as expressões resultarem
no mesmo valor; caso contrário retorna falso.
10 = 9 (Falso)
7-2 = 4+1 (Verdadeiro)
= == Igualdade
≠ != Diferente de
28
Expressões Relacionais
Assim sendo, qual o resultado das expressões relacionais apresentadas a seguir?
a) 25 < 30? c) a = 10 + 5 * 2 - (2 * 2) ** 2
b = 5 - 4 ** 2 + (16 ** 0.5)
a >= b? a != b?
1 < 2 + 1 == 3
int int
float float
int float
bool bool
str str
bytes bytes
31
Expressões Relacionais
int vs. int
Foi como organizamos as expressões relacionais até este momento!
A comparação é feita diretamente pelo valor numérico
A comparação byte vs. byte segue a mesma lógica da str vs. str!
34
Expressões Relacionais
Tentativas de comparação entre tipos de dado “incompatíveis”, em geral,
resultam em erro
Exiba na tela (print) os dois valores lidos e seus respectivos tipos (type).
Uma proposição, nesse contexto, é uma sentença que pode ser avaliada
como verdadeira ou falsa.
Sendo assim, o resultado de uma expressão lógica, assim como nas expressões
relacionais, é um dado do tipo lógico.
37
Expressões Lógicas
[P#1] C#1 (OL) C#2
39
Expressões Lógicas
Conjunção (∧): uma conjunção lógica é avaliada verdadeira quando todas as
condições envolvidas na proposição também sejam avaliadas verdadeiras. A
conjunção é tipicamente chamada de E (AND) lógico.
Condição #1 Condição #2 Resultado (∧)
40
Expressões Lógicas
Aplicamos a conjunção lógica em vários aspectos da nossa vida cotidiana,
porém de forma bastante natural e transparente.
44
Expressões Lógicas
Assim como a conjunção lógica, a disjunção inclusiva também é presente em
diferentes momentos da nossa vida.
Verdadeira Falsa
Falsa Verdadeira
48
Expressões Lógicas
49
Expressões Lógicas
¬ Choveu?
50
Expressões Lógicas
Por ser um operador lógico unário, a negação não se aplica ao nosso
exemplo inicial!
∧•& and 2
∨ + ǀǀ or 3
5 + 1 >= 3 * 2 and 10 + 4 == 14
6 >= 6 and 14 == 14
True and True
True
55
Exercício #4
Faça um algoritmo em Python que leia o raio de uma circunferência em centímetro a
partir da entrada padrão (input) — armazene o casting (float) do valor na variável r.