SkillsTecnológicas
Menu
Conteúdo da trilha

Conteúdo 17 de 20

Operadores aritméticos

Construa e verifique cálculos com soma, subtração, multiplicação, divisão, resto e potência, considerando tipos, unidades e limites.

Publicado em 10 de setembro de 202618 min de leituraSkills Tecnológicas

Peças desenhadas a lápis são reunidas, organizadas e distribuídas em grupos iguais, deixando uma peça como resto

Operadores transformam valores em resultados

Operadores aritméticos expressam cálculos sobre valores numéricos. Em quantidade × precoUnitario, os dois valores são operandos, × representa o operador e o valor calculado é o resultado da expressão.

O símbolo sozinho não explica o problema. Multiplicar pode calcular o preço de várias unidades, a área de um retângulo ou uma conversão de escala. Antes de montar a expressão, escreva em palavras o que cada valor representa e qual unidade o resultado deve possuir.

Esta aula continua o trabalho de conversão de tipos de dados. Os tipos dos operandos influenciam quais operações são válidas, o tipo do resultado e os riscos de perda.

Os seis operadores fundamentais

Usaremos uma notação conceitual. Símbolos e nomes variam entre linguagens.

Mapa relaciona soma, subtração, multiplicação, divisão, resto e potência às perguntas que cada operação responde
Escolha a operação pela relação entre as grandezas, não pela familiaridade com o símbolo.
OperaçãoNotação comumPergunta respondidaExemplo
somaa + bqual é o total combinado?itens recebidos mais itens existentes
subtraçãoa - bqual é a diferença ou o que resta?saldo menos retirada
multiplicaçãoa * bqual é o total de grupos ou a escala?quantidade vezes preço unitário
divisãoa / bquanto cabe em cada grupo ou qual é a razão?total dividido entre pessoas
restoa % b em muitas linguagenso que sobra da divisão em grupos inteiros?itens que não completam uma caixa
potênciafunção ou a ** b em algumas linguagensqual é o produto repetido da base?lado ao quadrado

% costuma significar resto, não porcentagem. Para calcular 15% de um valor, uma expressão possível é valor × 15 / 100, considerando os tipos e a precisão adequados.

Soma e subtração

A soma combina grandezas compatíveis. Se um estoque possui 12 unidades e recebe 5, o novo total é:

novoEstoque ← 12 + 5

A subtração pode representar retirada ou diferença:

estoqueRestante ← novoEstoque - 4
diferenca ← maiorValor - menorValor

Confira as unidades. Somar 12 itens + 5 itens produz 17 itens; somar diretamente 12 itens + 5 reais não possui um significado coerente.

Em algumas linguagens, + também concatena textos. Assim, 12 + 3 pode resultar em 15, enquanto "12" + "3" pode resultar em "123". Isso não é aritmética: é outra operação associada ao mesmo símbolo. Verifique os tipos de dados antes de interpretar o resultado.

Multiplicação

A multiplicação aparece quando há grupos iguais ou uma escala. Três produtos a 19,90 cada produzem:

subtotal ← 3 × 19,90
subtotal ← 59,70

Pensar em “soma repetida” ajuda com inteiros positivos, mas não define todos os usos. 1,5 × 2,4 representa uma escala ou produto entre grandezas sem exigir um número inteiro de repetições.

Observe também a unidade:

  • 3 unidades × R$ 19,90 por unidade = R$ 59,70;
  • 5 m × 4 m = 20 m²;
  • 80 km/h × 2 h = 160 km.

A unidade esperada funciona como teste de coerência da expressão.

Divisão pode produzir resultados diferentes

A divisão responde a problemas de partilha e medida. Porém, o resultado depende dos tipos e das regras da linguagem.

Em C#, 13 / 5 com dois operandos inteiros produz 2, porque a divisão inteira descarta a parte fracionária em direção a zero. Com um operando de ponto flutuante, 13 / 5.0 produz 2.6. Python separa /, que realiza divisão verdadeira, e //, que realiza divisão pelo piso.

Por isso, este pseudocódigo deixa a intenção visível:

mediaReal ← converterParaReal(total) / quantidade
caixasCompletas ← quocienteInteiro(totalItens, capacidade)

Não converta o resultado tarde demais:

mediaIncorreta ← converterParaReal(13 / 5)

Se 13 / 5 já foi calculado como divisão inteira, a fração desapareceu antes da conversão. Escolha os tipos dos operandos conforme o resultado esperado.

Quociente e resto explicam agrupamentos

Há 17 itens e cada caixa comporta 5. Três caixas ficam completas e sobram 2 itens.

Dezessete unidades são distribuídas em três caixas com cinco unidades cada e duas unidades permanecem como resto
Para valores positivos: 17 = 5 × 3 + 2.
caixasCompletas ← quocienteInteiro(17, 5)
itensSoltos ← resto(17, 5)

O resto é útil para:

  • saber se uma quantidade é divisível por outra;
  • alternar posições em um ciclo;
  • separar grupos completos de unidades restantes;
  • verificar paridade com resto da divisão por 2.

Para dividendo e divisor positivos, o resto fica entre zero e um valor menor que o divisor. Com números negativos, linguagens podem adotar regras diferentes. C# e Java associam o sinal do resto ao dividendo; Python relaciona o módulo ao piso da divisão e ao sinal do divisor. Não transporte resultados negativos de uma linguagem para outra sem consultar sua regra.

Potência não possui um símbolo universal

Potenciação multiplica uma base por ela mesma um número determinado de vezes. significa 2 × 2 × 2, que resulta em 8.

Em pseudocódigo independente de linguagem, prefira tornar a intenção clara:

areaQuadrado ← potencia(lado, 2)

Python e JavaScript usam ** para exponenciação. C# normalmente utiliza Math.Pow. Em várias linguagens, ^ representa OU exclusivo bit a bit, não potência. Portanto, nunca suponha que o símbolo visto em uma calculadora possui o mesmo significado no código.

Expoentes negativos, fracionários e bases negativas introduzem regras adicionais e possíveis resultados não reais. Consulte a função ou o operador da linguagem antes de ampliar o domínio.

Operadores unários

Soma e subtração também podem atuar sobre um único operando:

temperatura ← -5
variacao ← -saldo

O sinal - unário produz a negação aritmética do operando; ele não está subtraindo um segundo valor. O + unário costuma preservar o valor, embora linguagens dinâmicas possam associá-lo a coerções específicas.

Não confunda um número negativo com uma subtração. Em saldo - retirada, - é binário; em -retirada, é unário.

O tipo do resultado importa

Uma expressão não produz apenas um número; produz um valor de determinado tipo. O resultado pode depender de:

  • tipos dos operandos;
  • promoções ou conversões automáticas;
  • operador escolhido;
  • faixa e precisão do tipo resultante;
  • regras de sobrecarga da linguagem.

Em um cálculo monetário, misturar decimal com ponto flutuante aproximado pode ser proibido ou exigir conversão. Em inteiros de faixa limitada, uma soma ou multiplicação pode ultrapassar o maior valor permitido. Em ponto flutuante, resultados podem conter erro de arredondamento.

Use os critérios de como escolher o tipo de dado adequado também para resultados intermediários, não apenas para as entradas.

Divisão por zero e outros limites

Antes de dividir ou calcular resto, verifique se o divisor pode ser zero:

se quantidade > 0 então
    media ← total / quantidade
senão
    escreva "Não é possível calcular a média sem itens"
fim se

O comportamento de divisão por zero varia por tipo e linguagem. Divisão inteira por zero costuma gerar erro; certos tipos de ponto flutuante podem produzir infinito ou valor indefinido. Uma regra técnica não substitui a regra do problema: se zero não faz sentido como divisor, valide antes.

Também teste:

  • resultado maior ou menor que a faixa do tipo;
  • operação com valores negativos;
  • valores aproximados e arredondamento;
  • unidade incompatível;
  • sequência de operações que acumula erro.

Exemplo: cálculo e separação de um pedido

Um pedido contém 17 unidades, agrupadas em caixas de 5, com preço unitário de 19,90 e frete de 12,00.

Cálculo de pedido multiplica dezessete unidades pelo preço unitário, soma o frete e separa três caixas completas e duas unidades soltas
Uma sequência clara preserva o significado e a unidade de cada resultado.
subtotal ← 17 × 19,90
total ← subtotal + 12,00
caixasCompletas ← quocienteInteiro(17, 5)
itensSoltos ← resto(17, 5)

Resultados esperados:

NomeCálculoResultadoUnidade ou significado
subtotal17 × 19,90338,30reais
total338,30 + 12,00350,30reais
caixasCompletasquociente de 17 ÷ 53caixas
itensSoltosresto de 17 ÷ 52unidades

O quociente real 17 ÷ 5 = 3,4 não responde quantas caixas estão completas. A pergunta do domínio define qual divisão usar.

Parênteses documentam agrupamentos

Linguagens possuem regras de precedência. Como esse assunto será aprofundado mais adiante, use parênteses quando o agrupamento for importante:

media ← (nota1 + nota2 + nota3) / 3

Sem os parênteses, uma linguagem pode dividir apenas nota3 antes de somar. Mesmo quando os parênteses são tecnicamente dispensáveis, eles podem documentar a intenção.

Erros comuns

Usar % como porcentagem

Em muitas linguagens, % devolve resto. Porcentagem é uma relação que precisa ser construída com os tipos e a escala corretos.

Esperar fração de uma divisão inteira

Confira os operandos antes de dividir e converta antes da operação quando necessário.

Achar que cast arredonda

Converter um real para inteiro frequentemente trunca. Se o problema exige arredondamento, aplique uma regra explícita.

Ignorar unidades

Uma expressão pode ser aceita pela linguagem e continuar sem sentido no domínio.

Copiar símbolos entre linguagens

Potência, divisão inteira e resto não possuem sintaxe nem comportamento totalmente universais.

Checklist para construir um cálculo

  • Cada operando possui significado e unidade definidos?
  • A operação responde à pergunta do problema?
  • O tipo do resultado é adequado?
  • A divisão precisa ser inteira ou fracionária?
  • O divisor pode ser zero?
  • Fração, precisão ou faixa podem ser perdidas?
  • Valores negativos alteram a regra de resto?
  • Parênteses deixam o agrupamento inequívoco?
  • Casos comuns e limites foram testados?

Pratique

Uma escola precisa distribuir 74 estudantes em ônibus com 20 lugares e calcular o custo total se cada ônibus utilizado custa 850,00.

Determine:

  1. quantos ônibus ficam completos;
  2. quantos estudantes restam após preencher os ônibus completos;
  3. quantos ônibus são necessários ao todo;
  4. o custo total.

O quociente inteiro é 3, o resto é 14 e são necessários 4 ônibus, porque qualquer resto exige outro veículo. O custo é 4 × 850,00 = 3.400,00. Registre cada etapa em um teste manual.

O que você deve guardar

Operadores aritméticos combinam operandos e produzem resultados tipados. Soma combina, subtração encontra diferença, multiplicação escala, divisão reparte ou mede, resto identifica o que não completa um grupo e potência representa multiplicação repetida da base.

O resultado correto depende do significado, dos tipos, das unidades e das regras da linguagem. Continue em Operadores relacionais para transformar comparações em respostas lógicas, ou acompanhe o catálogo de Lógica de Programação.

Referências