Capítulo 03: Operadores Aritméticos, Expressões e Atribuição (<-)
🎯 Objetivo da Aula
Na administração e na logística, quase todas as decisões dependem de cálculos matemáticos: precificação de fretes por quilômetro, cálculo de consumo de diesel, divisão de despesas entre centros de custo e estimativas de tempo de viagem.
Nesta aula, você aprenderá a:
- Compreender o funcionamento do Operador de Atribuição (
<-). - Utilizar todos os Operadores Aritméticos do VisuAlg: soma (
+), subtração (-), multiplicação (*), divisão real (/), divisão inteira (\), resto da divisão (mod) e exponenciação (^). - Aplicar a Ordem de Precedência Matemática com parênteses para evitar erros de cálculo financeiro.
- Construir expressões matemáticas complexas aplicadas à rotina de transportes.
📥 Material de Apoio e Código-Fonte da Aula:
- 📄 Arquivo Pronto (.alg): Baixar Capitulo_03.alg (abra diretamente no VisuAlg 3.0)
- 📦 Exercícios Separados (.zip): Baixar Capitulo_03.zip
🏢 O Cenário Prático (Seu Desafio)
Situação: A equipe de frotas da FastLog precisa calcular a rentabilidade de uma viagem recente de 850 km entre São Paulo e Brasília. O caminhão consumiu 280 litros de óleo diesel, gastou R$ 340,00 em praças de pedágio e cobrou uma tarifa de R$ 4,20 por quilômetro.
Missão: Você deve construir um algoritmo que calcule:
- O Faturamento Bruto da viagem.
- O Consumo Médio do veículo em KM/L.
- O Lucro Líquido Operacional (Faturamento subtraído do combustível a R$ 5,80/L e dos pedágios).
🧠 Fundamentos: A Matemática da Computação
1. O Operador de Atribuição (<-)
No VisuAlg e na sintaxe Pascal, o símbolo <- (seta para a esquerda formada pelo sinal de menor < e o traço -) representa a Atribuição:
$$\text{VariávelDestino} \leftarrow \text{Expressão ou Valor}$$
total <- 10 + 5(Lê-se: Calcule 10 + 5 e guarde o resultado 15 dentro da variável total).
Diferença entre Atribuição (<-) e Comparação (=):
x <- 10é uma ordem de gravação (Atribuição).x = 10é uma pergunta lógica (“O valor de x é igual a 10?”). Nunca use=para atribuir valores no VisuAlg!
2. A Tabela de Operadores Aritméticos do VisuAlg
| Operador | Operação | Exemplo | Resultado | Observação |
|---|---|---|---|---|
+ | Adição | 10 + 5 | 15 | Soma valores numéricos. |
- | Subtração | 10 - 3 | 7 | Subtrai valores numéricos. |
* | Multiplicação | 4 * 2.5 | 10.0 | Multiplica valores. |
/ | Divisão Real | 7 / 2 | 3.5 | Devolve número real (com casas decimais). |
\ | Divisão Inteira | 7 \ 2 | 3 | Trunca o resultado, descartando a parte decimal. |
mod | Módulo (Resto) | 7 mod 2 | 1 | Retorna o resto da divisão inteira. |
^ | Exponenciação | 2 ^ 3 | 8 | Eleva a base à potência. |
graph TD
A["Expressão: 7 / 2"] --> B["Divisão Real (/) -> 3.5"]
C["Expressão: 7 \ 2"] --> D["Divisão Inteira (\) -> Quociente = 3"]
C --> E["Módulo (mod) -> Resto = 1"]
style B fill:#2980b9,stroke:#fff,stroke-width:2px,color:#fff
style D fill:#27ae60,stroke:#fff,stroke-width:2px,color:#fff
style E fill:#f39c12,stroke:#fff,stroke-width:2px,color:#fff3. A Ordem de Precedência Matemática (PEMDAS)
Quando uma linha de código possui múltiplos operadores, o computador segue uma hierarquia rigorosa:
()Parênteses Internos: Sempre resolvidos em primeiro lugar.^Exponenciação.*,/,\,mod: Multiplicações, divisões e restos (da esquerda para a direita).+,-: Somas e subtrações (da esquerda para a direita).
Exemplo de Erro Clássico de Média:
media <- 8 + 6 / 2➔ Executa6 / 2 = 3primeiro, e depois8 + 3 = 11(ERRADO!).media <- (8 + 6) / 2➔ Executa8 + 6 = 14primeiro, e depois14 / 2 = 7(CORRETO!).
Prévia: a máscara :largura:decimais
No código a seguir você verá números real impressos como kmPorLitro:5:2 ou faturamentoBruto:8:2. Esses dois números depois dos dois-pontos controlam quantos espaços o valor ocupa no console e quantas casas decimais aparecem — é a máscara de formatação numérica, que veremos em detalhe no Capítulo 04. Por enquanto, basta saber que :8:2 significa “exiba com 2 casas decimais”.
📖 Exemplo Guiado: Simulador de Rentabilidade de Viagem
Código do Algoritmo:
✅ Resultado Esperado no Console (F9):
🛠️ Prática Obrigatória 1: Calculadora de Frete por Peso e Cubagem
Passo 1: O Desafio
Crie um algoritmo "Calculo_Frete_Cubagem" que calcule o valor cobrado para transportar uma carga. A fórmula é:
$$\text{Frete} = (\text{PesoKg} \times \text{TaxaKg}) + (\text{VolumeM3} \times \text{TaxaM3}) + \text{TaxaSeguro}$$
Considere:
pesoKg=450.0|taxaKg=2.50volumeM3=8.0|taxaM3=45.00taxaSeguro=120.00
✅ Resultado Esperado (Prática 1):
🛠️ Prática Obrigatória 2: Divisão de Cargas em Paletes (\ e mod)
Um operador precisa despachar 125 caixas de mercadoria. Cada palete padrão comporta rigorosamente 18 caixas.
Crie um algoritmo "Divisao_Paletes" que utilize a divisão inteira (\) e o módulo (mod) para calcular:
- Quantos paletes cheios e completos 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.alg. - Execute o código no VisuAlg e verifique se as contas fecham com exatidão.
- No Microsoft Teams, envie na tarefa “VisuAlg Cap 03 - Operadores Aritméticos”.
- Clique em Entregar (Turn In).
💡 Checkpoint de Lógica & Engenharia de Software
Você acabou de aplicar a Unidade Lógica e Aritmética (ULA / ALU) do processador. Todo cálculo dentro de um computador é reduzido a operações binárias fundamentais na ULA em ciclos de clock de nanossegundos.
🔥 Desafio de Fixação: Conversão de Horas e Minutos com mod
Crie um algoritmo que receba o tempo total de viagem de um caminhão em minutos (ex: 385 minutos) e converta para o formato: X horas e Y minutos utilizando \ e mod 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 símbolo representa o Operador de Atribuição no VisuAlg, e o que ele significa segundo o capítulo?
- Segundo o aviso do capítulo, qual é a diferença entre a Atribuição (
<-) e a Comparação (=)? - Qual é a diferença entre a divisão real (
/) e a divisão inteira (\) no VisuAlg? Use os exemplos da tabela do capítulo. - O que faz o operador
mod, e qual é o resultado de7 mod 2segundo a Tabela de Operadores Aritméticos? - Segundo a Ordem de Precedência Matemática apresentada no capítulo, o que é sempre resolvido em primeiro lugar numa expressão?
- No “Exemplo de Erro Clássico de Média”, por que a expressão
media <- 8 + 6 / 2resulta em11em vez do valor correto? - No Exemplo Guiado, qual fórmula foi usada para calcular o Lucro Líquido Operacional da viagem entre São Paulo e Brasília?
- Na Prática Obrigatória 1 (Calculadora de Frete por Peso e Cubagem), qual é a fórmula do Frete apresentada no capítulo?
- Na Prática Obrigatória 2 (Divisão de Cargas em Paletes), quais dois operadores devem ser usados para calcular, respectivamente, os paletes completos e as caixas avulsas?
- Segundo o Checkpoint de Lógica, qual componente do processador é responsável por executar as operações matemáticas e lógicas dos cálculos?