Trilha de aprendizado · Nível 1 · Tutorial 4

Construir expressões numéricas

Ao concluir, você conseguirá traduzir cálculos simples em expressões Python e prever como operadores e parênteses determinam os resultados.

  • Nível: Iniciante
  • Duração: 15 min
  • 7 passos
Construir expressões numéricas

Passo 1 de 7

Traduzir cálculos em expressões

Transforme cálculos em expressões Python usando valores, variáveis e operadores aritméticos.

Um cálculo, um resultado

Uma expressão numérica combina valores, nomes de variáveis e operadores para produzir um resultado.

Em Python, use + para somar, - para subtrair e * para multiplicar. Para elevar um número a uma potência, use **: 2 ** 3 significa 2 elevado a 3, ou seja, 2 × 2 × 2.

Compare as operações

python
print(8 + 3)   # 11
print(8 - 3)   # 5
print(2 * 3)   # 6
print(2 ** 3)  # 8

Dica

Resultados inteiros

Todos os resultados acima são do tipo int. Nos exemplos deste step, usamos inteiros e, nas potências, uma base positiva com expoente inteiro não negativo. Por exemplo, 5 ** 0 produz o inteiro 1.

Das palavras para o código

Associe cada cálculo à expressão

Observe a operação pedida, não apenas os números.

Toque em um item e depois no par correspondente.

Nomes e sinais também entram na conta

A operação não muda

Uma variável pode ocupar o lugar de um número na expressão. O operador continua o mesmo.

O sinal - tem dois usos: entre dois valores, faz uma subtração; antes de um único valor ou nome, indica seu oposto. Assim, -3 representa um valor negativo e, se saldo vale 8, -saldo produz -8.

Expressões com variáveis

python
quantidade = 4
saldo = 8

print(quantidade * 3)  # 12
print(saldo - 3)       # 5: subtrai 3 de 8
print(-saldo)          # -8: oposto de 8
print(saldo)           # 8: a variável não foi alterada

Complete a expressão

Elevar usando uma variável

A variável lado vale 5. Para calcular o quadrado desse valor, complete a expressão com o operador correto:

lado ____ 2

Digite apenas o operador.

Passo 2 de 7

Dividir e reconhecer resultados float

Use / para dividir e preveja o valor e o tipo dos resultados, inclusive quando a divisão é exata.

Dividir com /

Em Python, / faz a divisão comum. Com números int ou float, o resultado dessa operação é sempre float, mesmo quando a divisão é exata. Nos exemplos e atividades, use sempre divisores diferentes de zero.

Divisão com e sem parte fracionária

python
print(7 / 2)  # 3.5
print(8 / 2)  # 4.0

resultado = 8 / 2
print(type(resultado))  # <class 'float'>

Dica

Valor inteiro não significa tipo int

4.0 representa um valor numericamente inteiro, mas seu tipo é float. O fato de a divisão ser exata não muda essa regra de /.

Preveja uma divisão exata

Considere pecas = 12 e pessoas = 3. Qual é o valor e o tipo do resultado de pecas / pessoas?

Misturar int e float

Ao combinar um int e um float com +, - ou *, o resultado também é float. Isso vale mesmo quando o resultado não tem parte fracionária.

Três operações, a mesma regra de tipo

Os comentários mostram os resultados exibidos.

python
print(3 + 2.5)  # 5.5
print(7 - 2.0)  # 5.0
print(4 * 1.5)  # 6.0

O tipo depende só do valor final?

O resultado de 3 * 2.0 é do tipo int, porque a multiplicação dá um número sem parte fracionária.

Passo 3 de 7

Encontrar grupos completos e sobras

Escolha entre /, // e % para dividir, contar grupos completos e encontrar sobras.

Quantos grupos? Quanto sobra?

Você tem 17 peças e quer montar grupos de 4.

  • / faz a divisão comum.
  • // dá o quociente arredondado para baixo: neste caso, a quantidade de grupos completos.
  • % dá o resto da divisão: as peças que sobram. Em Python, esse operador não calcula porcentagem.

Três perguntas, três operadores

python
pecas = 17
por_grupo = 4

print(pecas / por_grupo)   # 4.25
print(pecas // por_grupo)  # 4
print(pecas % por_grupo)   # 1

Exemplo

Reconstruindo o total

Quatro grupos de quatro peças usam 16 peças. Com a sobra de 1, voltamos às 17 peças.

A relação é: dividendo = divisor × quociente + resto.

Com os dois operandos do tipo int, // e % produzem resultados int. Nas atividades, o divisor será sempre diferente de zero, como deve ser para essas divisões.

Escolha pela pergunta

Organize 23 peças em grupos de 5

Associe cada necessidade à expressão e ao resultado adequados.

Toque em um item e depois no par correspondente.

Arredondar para baixo não é cortar

Com números positivos, // pode parecer apenas um corte da parte decimal. Mas a regra é arredondar o quociente para baixo, em direção ao inteiro menor.

Por exemplo, −3,5 fica entre −4 e −3. O inteiro abaixo dele é −4, não −3.

Observe a diferença

python
print(-7 / 2)   # -3.5
print(-7 // 2)  # -4

Preveja o arredondamento

Qual inteiro fica abaixo?

A divisão -9 / 4 resulta em -2.25. Complete com o resultado de -9 // 4: ____.

Passo 4 de 7

Controlar a ordem dos cálculos

Preveja a ordem de avaliação e use parênteses para representar o cálculo desejado.

Qual operação vem primeiro?

A posição não decide tudo

Em uma expressão sem parênteses de agrupamento, Python segue esta prioridade:

  1. Potenciação: **.
  2. Multiplicação, divisões e resto: *, /, //, %.
  3. Adição e subtração: +, -.

Entre os operadores do segundo nível, resolva da esquerda para a direita. Faça o mesmo entre + e -.

Exemplo

Acompanhe a avaliação

2 + 3 * 4 ** 2: primeiro a potência, dando 16; depois 3 * 16, dando 48; por último 2 + 48, dando 50.

18 / 3 * 2: divisão e multiplicação têm a mesma prioridade. Da esquerda para a direita, temos 6.0 * 2, dando 12.0.

10 - 3 + 2: da esquerda para a direita, temos 7 + 2, dando 9.

Dica

Espaços ajudam a ler

2+3*4 e 2 + 3 * 4 produzem 14. Os espaços entre valores e operadores não alteram a prioridade das operações.

Organize o cálculo

Não comece pela subtração

Ordene as etapas para avaliar 20 - 2 * 3 ** 2.

  1. Calcular 2 * 9, obtendo 18.
  2. Calcular 3 ** 2, obtendo 9.
  3. Calcular 20 - 18, obtendo 2.

Parênteses deixam a intenção clara

Agrupe o que deve vir antes

Os parênteses de agrupamento fazem o cálculo interno ser resolvido antes de usar seu resultado na operação externa. Dentro de cada grupo, continuam valendo as prioridades.

2 + 3 * 4 resulta em 14.
(2 + 3) * 4 resulta em 20.

Também é possível apenas explicitar a ordem que já valeria: 2 + (3 * 4) continua dando 14.

Exemplo

De dentro para fora

Em 2 * (10 - (3 + 1)):

  1. O grupo mais interno, (3 + 1), produz 4.
  2. O grupo externo passa a ser (10 - 4) e produz 6.
  3. Por fim, 2 * 6 produz 12.

Exemplo

O sinal negativo faz parte da base?

-2 ** 2 significa -(2 ** 2): primeiro a potência, depois a negação. Resultado: -4.

(-2) ** 2 eleva a base negativa ao quadrado: (-2) * (-2). Resultado: 4.

Use parênteses para deixar explícito se quer negar o resultado ou elevar uma base negativa.

Escolha o agrupamento

Some antes de multiplicar

Complete ____ * 3 para somar 8 e 4 antes de multiplicar por 3. Escreva a soma entre parênteses, sem substituir pelo resultado.

Mesmo resultado?

As expressões -3 ** 2 e (-3) ** 2 produzem o mesmo resultado.

Passo 5 de 7

Nomear resultados intermediários

Separe o cálculo de uma média em etapas com nomes claros e execute um script no seu computador.

Uma conta, duas etapas

A média aritmética de três medições é a soma delas dividida por 3. Para os valores 12, 15 e 18, podemos escrever (12 + 15 + 18) / 3.

Outra forma é dar nomes às etapas: guardar a soma em soma_medicoes e depois calcular media_medicoes. O resultado é o mesmo, mas os nomes deixam claro o papel de cada valor.

Dica

A ordem acompanha a dependência

Calcule soma_medicoes antes de usá-la no cálculo da média. Esse resultado intermediário guarda uma parte da conta já resolvida.

Complete as etapas

Primeiro, a soma

As variáveis medicao_1, medicao_2 e medicao_3 guardam as três medições. Complete com o nome que falta:

soma_medicoes = medicao_1 + medicao_2 + ___

Depois, a média

Reutilize o resultado intermediário. Complete com o nome da variável:

media_medicoes = ___ / 3

Execute no seu computador

Salve o código abaixo como media_medicoes.py no seu editor e execute com o Python 3, como você já praticou. Antes de executar, preveja os dois valores que aparecerão: primeiro a soma, depois a média.

Média de três medições

python
medicao_1 = 12
medicao_2 = 15
medicao_3 = 18

soma_medicoes = medicao_1 + medicao_2 + medicao_3
media_medicoes = soma_medicoes / 3

print(soma_medicoes)
print(media_medicoes)

Explique o resultado intermediário

Quais valores apareceram, em ordem? Explique o que soma_medicoes guarda e por que ela precisa ser calculada antes de media_medicoes.

Escreva pelo menos 20 caracteres (0/20).

Passo 6 de 7

Reconhecer aproximações de float

Entenda por que uma soma de decimais pode exibir dígitos inesperados sem que a expressão esteja errada.

Uma soma que surpreende

No papel, 0,1 + 0,2 resulta em 0,3. Veja o que este código Python exibe. Se quiser conferir, execute-o no seu computador.

python
print(0.1 + 0.2)

Exemplo

Saída

0.30000000000000004

O resultado está muito próximo de 0,3, mas há dígitos extras no final.

Precisão limitada

O tipo float usa uma representação binária com precisão limitada. Alguns valores decimais, como 0.1 e 0.2, são armazenados como aproximações muito próximas dos valores desejados.

Ao somar essas aproximações, a pequena diferença pode aparecer na saída. Neste exemplo, os dígitos extras não indicam erro no operador + nem falta de parênteses.

Atenção

Não há garantia geral de exatidão

Nem todo cálculo com float exibe dígitos inesperados. Ainda assim, não presuma que todo valor decimal seja representado exatamente.

Interprete o resultado

Ao ver 0.30000000000000004 como resultado de 0.1 + 0.2, qual conclusão está correta?

Passo 7 de 7

Aplicar os operadores em um cálculo completo

Construa um cálculo de organização de peças, teste no seu computador e justifique suas escolhas de operadores.

Seu desafio: organizar as peças

Da caixa ao kit

Um estoque tem 5 caixas com 9 peças cada. Separe 3 peças para reserva antes de montar kits de 8 peças. Quantos kits completos podem ser montados e quantas peças disponíveis sobram?

No seu editor, crie organizar_pecas.py. Comece com estes dados:

Dados do estoque

python
caixas = 5
pecas_por_caixa = 9
reserva = 3
pecas_por_kit = 8

Construa as etapas

Acrescente as atribuições usando os dados e reutilizando os resultados anteriores:

  1. total_pecas: peças de todas as caixas.
  2. pecas_disponiveis: total após retirar a reserva.
  3. kits_completos: quantidade de kits inteiros.
  4. sobras: peças disponíveis que não formam outro kit.
  5. divisao_comum: divisão das peças disponíveis pelas peças por kit usando /.

Exiba esses cinco resultados nessa ordem, com uma chamada de print para cada um, e execute o arquivo com Python 3.

Por fim, escreva uma expressão equivalente a kits_completos usando apenas caixas, pecas_por_caixa, reserva e pecas_por_kit. Use parênteses para retirar a reserva antes da divisão.

Registre e confira sua solução

Como você implementou o cálculo?

Cole o código que você construiu e registre os cinco resultados observados ao executar no seu computador.

Explique por que usou // para kits completos e % para sobras, e o que o resultado de / representa. Inclua também sua expressão equivalente com parênteses e justifique o agrupamento.

Depois de responder, compare com a resolução.

Escreva pelo menos 50 caracteres (0/50).

Uma última previsão

Sinal, potência e decimais

Antes de executar, analise três expressões:

  • -5 ** 2
  • (-5) ** 2
  • 0.1 + 0.2

Qual alternativa prevê corretamente os resultados e interpreta os dígitos extras da soma?

Critérios para seus próximos cálculos

Resumo

Da intenção à expressão

  • Traduza a operação desejada: + soma, - subtrai ou nega, multiplica e * calcula potências.
  • Escolha a divisão pelo significado: / dá a divisão comum, // arredonda o quociente para baixo e % dá o resto. O divisor deve ser diferente de zero.
  • Use parênteses para representar o agrupamento desejado, como retirar a reserva antes de dividir.
  • Nomeie resultados intermediários e calcule cada um antes de utilizá-lo na próxima etapa.
  • Considere o tipo do resultado: / produz float, e cálculos decimais com float não têm garantia geral de exatidão.

Tutorial concluído

Parabéns! Você concluiu: Construir expressões numéricas

Você praticou a construção de expressões, a escolha de operadores e a organização de cálculos em etapas nomeadas. No próximo tutorial, aprenderá a apresentar resultados com textos e f-strings.

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso