Capítulo 03: Operadores Matemáticos, Expressões e Atribuição (=)
🎯 Objetivo da Aula
Na gestão logística e na administração, quase todas as decisões dependem de contas matemáticas rigorosas: cálculo de rentabilidade por quilômetro rodado, consumo de diesel da frota, divisão de lotes de paletes em caminhões e apuração de tributos.
Nesta aula, você aprenderá a:
- Compreender o funcionamento do Operador de Atribuição (
=). - Utilizar todos os Operadores Aritméticos do Portugol Studio: soma (
+), subtração (-), multiplicação (*), divisão (/) e resto da divisão (%). - Dominar os Operadores Unários e Compostos: incremento (
++), decremento (--), atribuição aditiva (+=) e subtrativa (-=). - Aplicar a Ordem de Precedência Matemática com parênteses para cálculos exatos.
📥 Material de Apoio e Código-Fonte da Aula:
- 📄 Arquivo Pronto (.por): Baixar Capitulo_03.por (abra diretamente no Portugol Studio)
- 📦 Exercícios Separados (.zip): Baixar Capitulo_03.zip
🏢 O Cenário Prático (Seu Desafio)
Situação: A frota pesada da FastLog concluiu uma rota de transporte de 920 km entre São Paulo e Florianópolis. O caminhão consumiu 310 litros de diesel a R$ 5,90/litro, pagou R$ 280,00 de pedágios e faturou R$ 4,50 por quilômetro rodado.
Missão: Você deve construir um programa que calcule:
- O Faturamento Bruto Total da viagem.
- O Consumo Médio de Combustível (KM/L).
- O Lucro Líquido Operacional da transportadora.
🧠 Fundamentos: A Matemática no Portugol Studio
1. O Operador de Atribuição (=)
No Portugol Studio e na família de linguagens C/Java, o sinal de igual simples = representa a Atribuição:
$$\text{VariavelDestino} = \text{ExpressaoMatematica};$$
total = 10 + 5(Lê-se: Calcule 10 + 5 e guarde o resultado 15 dentro da variável total).
Atribuição (=) vs Comparação (==):
x = 10➔ Guarda o valor 10 na variávelx.x == 10➔ Pergunta lógica (“x é igual a 10?”).
2. Tabela de Operadores Aritméticos
| Operador | Operação | Exemplo no Código | Resultado se a=7 e b=2 |
|---|---|---|---|
+ | Adição | a + b | 9 |
- | Subtração | a - b | 5 |
* | Multiplicação | a * b | 14 |
/ | Divisão | a / b | 3.5 (se as variáveis forem real) |
% | Módulo (Resto da Divisão) | a % b | 1 (pois 7 / 2 dá 3 e sobra 1) |
Divisão Inteira: o resultado é truncado, não arredondado
Se a e b forem do tipo inteiro, o operador / descarta a parte decimal do resultado — não arredonda para cima nem para baixo, simplesmente corta. Por exemplo, inteiro a = 7, b = 2 e a / b resulta em 3 (não 3.5 e não 4). Para saber o que “sobrou” dessa divisão, use o % junto: 7 / 2 é 3, e 7 % 2 é 1.
graph TD
A["Expressão: 7 / 2 (Divisão Real)"] --> B["Resultado: 3.5"]
C["Expressão: 7 % 2 (Módulo / Resto)"] --> D["Resto Inteiro: 1"]
style B fill:#2980b9,stroke:#fff,color:#fff
style D fill:#f39c12,stroke:#fff,color:#fff3. Operadores Compostos de Incremento
O Portugol Studio suporta os operadores de atalho da linguagem C:
contador++➔ O mesmo quecontador = contador + 1(Incremento de 1 em 1).contador--➔ O mesmo quecontador = contador - 1(Decremento).total += valor➔ O mesmo quetotal = total + valor(Acumulador).saldo -= gasto➔ O mesmo quesaldo = saldo - gasto.
4. A Ordem de Precedência Matemática
O computador avalia expressões matemáticas seguindo a regra universal:
()Parênteses: Sempre executados em primeiro lugar.*,/,%: Multiplicações, divisões e restos (da esquerda para a direita).+,-: Somas e subtrações.
📖 Exemplo Guiado: Balanço Financeiro da Rota
Código do Programa:
✅ Resultado Esperado no Console (Shift + F6):
🛠️ Prática Obrigatória 1: Cotação de Frete por Peso e Volume
Passo 1: O Desafio
Crie um programa cotacao_frete.por que calcule o frete cobrado aplicando a fórmula:
$$\text{Frete} = (\text{pesoKg} \times 2.80) + (\text{volumeM3} \times 40.00) + \text{taxaSeguro}$$
Considere:
pesoKg=520.0volumeM3=6.5taxaSeguro=150.00
✅ Resultado Esperado (Prática 1):
🛠️ Prática Obrigatória 2: Otimização de Paletização com Módulo (%)
Um operador precisa estocar 145 caixas no galpão. Cada palete padrão comporta exatamente 12 caixas.
Crie um programa paletizacao.por que utilize a divisão inteira e o operador módulo (%) para calcular:
- Quantos paletes cheios serão formados.
- Quantas caixas avulsas sobrarão fora dos paletes.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_03_SeuNome_SeuSobrenome.por. - No Portugol Studio, execute com
Shift + F6e confira a exatidão das contas. - No Microsoft Teams, envie na tarefa “Portugol Cap 03 - Operadores Matemáticos”.
- Clique em Entregar (Turn In).
💡 Checkpoint de Lógica & Engenharia de Software
Você acabou de dominar a Aritmética de Ponto Flutuante e Divisão Modular. O operador % é utilizado em criptografia de chaves públicas (como RSA e criptografia bancária SSL/TLS), em hashing e no balanceamento de carga de servidores na nuvem.
🔥 Desafio de Fixação: Conversor de Minutos para Horas e Minutos
Crie um programa que receba a duração total de uma viagem em minutos (ex: 495 minutos) e converta para o formato: X horas e Y minutos utilizando divisão inteira e % 60.
🔑 Gabarito de Código Completo
Prática 1:
Prática 2:
Desafio:
📝 Atividade Extra: Questionário de Fixação (Caderno)
Instruções: Responda no caderno, de próprio punho, as 10 perguntas abaixo com base no que foi estudado neste capítulo. Ao concluir, leve o caderno até o professor para correção e visto.
- Qual é a diferença entre o operador
=e o operador==, segundo o quadro de aviso do capítulo? - O que o operador
%(módulo) calcula? Qual é o resultado de7 % 2, conforme o exemplo do capítulo? - Escreva a forma equivalente do operador composto
contador++usando o operador de atribuição=. - O que faz o operador composto
total += valor? Escreva sua forma equivalente com=. - Segundo a Ordem de Precedência Matemática apresentada no capítulo, o que é avaliado primeiro: parênteses, multiplicação/divisão, ou soma/subtração?
- Na Prática Obrigatória 2 (Otimização de Paletização), qual operador deve ser usado para descobrir quantas caixas avulsas sobram fora dos paletes completos?
- No Exemplo Guiado (Balanço Financeiro da Rota), qual operação matemática foi usada para calcular o
faturamentoBruto? - Segundo o Checkpoint de Lógica, em quais áreas da computação (citadas no texto) o operador módulo (
%) é utilizado? - Na tabela de operadores aritméticos, qual é o resultado de
a - bsea=7eb=2? - O que representa a divisão
a / bquando as variáveis envolvidas são do tiporeal, segundo a tabela de operadores?