Operadores e precedência
Objetivo da aula
Construir expressões e controlar a ordem de avaliação.
Regra desta aula: vamos assumir que você nunca viu este assunto antes. Nenhum termo importante será usado sem explicação e todo exemplo deve ser entendido linha por linha, não apenas copiado.
Começando do zero
Operadores são símbolos ou palavras que produzem novos valores a partir de outros. Somar, multiplicar, comparar e combinar condições são operações. Quando há várias operações na mesma expressão, a precedência define qual parte é avaliada primeiro. Parênteses deixam a intenção explícita e reduzem dúvida.
Uma imagem mental para entender
Pense em uma conta escrita no quadro. “2 + 3 × 4” não é resolvida simplesmente da esquerda para a direita; multiplicação tem precedência. Programação também possui regras. Você não precisa decorar uma tabela enorme: quando a intenção importa, use parênteses para comunicar a ordem.
Conceitos essenciais, sem pular etapas
Aritméticos
+, -, *, /, //, % e ** realizam operações numéricas com significados específicos.
Divisão comum e inteira
/ produz divisão numérica em ponto flutuante. // é divisão de piso (floor division), que não significa apenas “cortar casas decimais” para números negativos.
Resto
% obtém o resto conforme a regra do operador em Python e é muito útil para verificar múltiplos e paridade.
Potência
** representa exponenciação. 2 ** 3 resulta 8.
Precedência e parênteses
Multiplicação ocorre antes de soma em uma expressão simples. Parênteses podem alterar ou documentar a ordem: (2 + 3) * 4 é diferente de 2 + 3 * 4.
Modelo mental
VALORES → OPERADORES → ORDEM DE AVALIAÇÃO → RESULTADO
Exemplo 1 — primeiro veja o programa inteiro
a = 2 + 3 * 4
b = (2 + 3) * 4
c = 17 // 5
d = 17 % 5
e = 2 ** 3
print(a, b, c, d, e)
Agora vamos ler linha por linha
3 * 4é calculado antes de somar 2, entãoavale 14.- Os parênteses obrigam
2 + 3a acontecer primeiro, entãobvale 20. 17 // 5produz 3 neste caso.17 % 5produz 2, o resto correspondente.2 ** 3produz 8.
Saída esperada
14 20 3 2 8
Exemplo 2 — o mesmo conceito em outra situação
minutos = 137
horas = minutos // 60
restante = minutos % 60
print(horas, "h", restante, "min")
Esse exemplo mostra por que // e % são úteis juntos: dividimos 137 minutos em 2 horas completas e 17 minutos restantes.
Experimento guiado
Não pule esta parte. Programação só começa a fazer sentido quando você prevê um resultado, executa e compara a previsão com o que realmente aconteceu.
- Calcule manualmente
5 + 2 * 3e(5 + 2) * 3antes de executar. - Use
%para descobrir o resto de 23 por 4. - Transforme 250 minutos em horas completas e minutos restantes.
- Reescreva uma expressão longa com parênteses que deixem a intenção clara, mesmo quando a precedência já produziria o mesmo resultado.
Mini desafio
Um pacote tem 53 itens e cada caixa comporta 10. Calcule quantas caixas ficam completamente cheias e quantos itens sobram.
Solução comentada
itens = 53
capacidade = 10
caixas_cheias = itens // capacidade
itens_restantes = itens % capacidade
print("Caixas cheias:", caixas_cheias)
print("Itens restantes:", itens_restantes)
Depois de executar a solução, altere pelo menos um valor e explique por que o novo resultado mudou. Se você só copiou e não consegue explicar cada linha, refaça o desafio em uma versão menor.
Erros comuns e por que acontecem
- Confundir
^com potência. Em Python, potência usa**;^é operador bit a bit XOR. - Achar que
//significa simplesmente remover casas decimais em todos os casos. - Escrever expressões muito longas sem parênteses e dificultar a leitura da regra.
Cheque se você realmente entendeu
Quanto vale (2 + 3) * 4?
Resposta: 20.
Para que % é útil?
Resposta: Para obter o resto da divisão e implementar regras como paridade e ciclos.
Qual operador representa potência em Python?
Resposta: **.
Resumo em linguagem simples
Nesta aula, o ponto central foi Operadores e precedência. Tente explicar o modelo VALORES → OPERADORES → ORDEM DE AVALIAÇÃO → RESULTADO sem olhar a tela. Depois, escreva um exemplo próprio menor que os apresentados. Esse exercício de explicação é parte do aprendizado, não um extra.
Conexão com a próxima aula
Na próxima aula, Entrada pelo teclado com input, vamos aproveitar exatamente o que foi construído aqui. Você não precisa memorizar tudo; precisa conseguir reconhecer o conceito e reconstruí-lo com raciocínio e testes.