Mandar um cafézinho para o programador:


Me ajude a transformar café em código!

Matemática em C++: Operadores de soma (+), subtração (-), multiplicação (*), divisão (/) e resto da divisão (%)

Sem exageros ou simplificações demasiadas, podemos dizer que um computador nada mais é que uma mega-super-hiper calculadora. Uma calculadora especial, bem incrementada e potente.

Fazer cálculos, contar, computar...é a base da computação, e consequentemente, da programação.
Neste tutorial, vamos aprender a fazer contas em C++.

Soma em C++: operador +

Para realizarmos a operação de adição, usamos o operador + entre dois valores.
Pode ser na forma literal: 1 + 1
Ou valores armazenados em variáveis: valor1 + valor2

Um programa que mostra a soma dos números 21 e 12:

#include <iostream>
using namespace std;

int main()
{
    cout << 21 + 12;
    return 0;
}


Operadores matemáticos em C++

Esses valores poderiam estar previamente armazenado em variáveis, var1 e var2, por exemplo e somados depois, veja:

Apostila de C++

Note como declaramos as variáveis var1 e var2.
Como as duas são inteiras, não precisamos fazer:
int var1=1;
int var2=2;

Podemos 'resumir', escrever menos e fazer:
int var1=1,
     var2=2;

Bem mais chique, não?

Subtração em C++: operador -

Assim como somamos, podemos subtrair, e para isto, basta usar o operador - (menos).
Vamos subtrair 21 de 12, e depois fazer 1 menos 2:

#include <iostream>
using namespace std;

int main()
{
    int var1=1,
        var2=2;

    cout << "21 - 12 = " << 21-12 << endl;
    cout << "1 - 2 = " << var1-var2;
    return 0;
}

Veja o resultado:
Curso de C++ online grátis

Note que usamos strings:
"21 - 12 = "
"1 - 2 = "

E cálculos matemáticos:
21 - 12
var1 - var2

São duas coisas diferentes, são dois tipos de dados diferentes.
Fizemos isso e colocamos tudo junto no comando cout (saída simples em C++), para deixarmos a saída bem bonitinha e organizada.

Multiplicação em C++: operador *

No nosso dia-a-dia, para descrever a operação de multiplicação, usamos o símbolo x, de vezes, não é verdade?

Porém, em programação C++, 'x' é uma letra.
Para identificar o operador de produto, usamos o asterisco: *

Assim, para multiplicarmos 2 por 2, ou 21 por 12, fazemos:

#include <iostream>
using namespace std;

int main()
{
    int var1=2, var2=2;

    cout << "2*2 = " << var1 * var2 <<endl;
    cout << "21 * 12 = " << 21*12;
    return 0;
}

O resultado da compilação:
Operações matemáticas em C++

Note que declaramos as variáveis todas na mesma linha. Fizemos isso pois elas são do mesmo tipo, do tipo inteiro, e separamos por vírgula.

Poderíamos também ter feito:
int var1=2;

E depois: var1 * var1

Afinal, são de valores iguais, concorda?

Divisão em C++: operador /

No dia-a-dia, o operador de divisão também é diferente, é o “÷”.
Já na programação, o símbolo é o : /

Vamos dividir 4 por 2, e depois 1 por 3.
O código fica:


#include <iostream>
using namespace std;

int main()
{
    float var1, var2;
    var1=1;
    var2=3;

    cout << "4 / 2 = " << 4/2 <<endl;
    cout << "1 / 3 = " << var1/var2;
    return 0;
}

A compilação resulta em:
Tutorial de C++ online grátis completo

Note que primeiro declaramos as variáveis:
float var1, var2;

E só depois inicializamos com os valores 1 e 3:
var1=1;
var2=3;

É uma outra forma de declarar e inicializar variáveis.

No primeiro cout, dividimos 4 por 2. Dois números inteiros, com resultados da divisão inteiro, e o C++ mostrou o inteiro resultante: 2.

Mas ao dividir 1 por 3, o resultado é decimal. Por isso declaramos as variáveis var1 e var2 como float, pois sabíamos que precisaríamos das casas decimais para representar a operação de divisão.

Altere a declaração de float para double, o que aconteceu? Diga nos comentários.
Altere a declaração de float para int, o que aconteceu? Diga nos comentários.


Resto da divisão em C++: operador %


Por fim, vamos usar o operador aritmético %, chamado de módulo ou resto da divisão.
Vamos voltar pra escolinha e relembrar como fazíamos continhas:

Resto da divisão em C++

Tá vendo aquele 'resto'? É o resto da divisão de 17 por 2.
Para obter esse resultado, faça:

  • 17 % 2 = 1
Esse operador é especial pois só se usa com números inteiros, ok?
No futuro, em nosso curso de C++, vamos usar o operador de módulo (ou resto da divisão), para alguns algoritmos específicos, como achar números primos e trabalhar com múltiplos.


Exercícios de Matemática em C++

01. Escreva um programa que some os número 10, 20 e 30
02. Escreva um programa que divida 21 por 12
03. Qual o módulo, ou resto da divisão, do número 21 por 12?
04. Qual o erro do código abaixo?

#include <iostream>
using namespace std;

int main()
{
    numero = 2112;
    int numero;

    cout << "Numero: "<< numero <<endl;
    return 0;
}

05. Armazene na variável 'soma' o resultado exercício 1. Em seguida, divida por 3 para achar a média, que valor encontrou?
06. Refaça o exercício anterior, mas sem usar nenhuma variável, ou seja, imprima o valor do resultado direto no cout.
07. Se fizer: 10 + 20 + 30/3, qual o resultado? É a média? Se não for, por quê deu errado?

Em breve, ainda em nossa seção de Introdução ao C++, vamos voltar a falar dos operadores, em relação a sua precedência.

Esses exercícios estão resolvidos e comentados em nossa Apostila C++ Progressivo.

Fontes de estudo

3 comentários:

  1. "Podemos 'resumir', escrever menos e fazer:
    int var1=1,
    var2=2;

    Bem mais chique, não?"

    Fiz desse jeito e o codeblocks 20.3 não aceitou, só aceitou com os 2 ints escritos.

    ResponderExcluir
    Respostas
    1. Talvez por que ele não reconheceu a vírgula, e já que a vírgula não foi reconhecida a informação não foi considerada como uma variante e o que não é armazenado é confundido.

      Excluir

Ajude o C++ Progressivo

Que tal apoiar e fazer crescer o ensino da programação no Brasil ?

Ajudar nosso país a crescer e se desenvolver cada vez mais, tecnologicamente?

Clica abaixo pra saber mais!

Apoiar o Projeto Progressivo