(C++) Expressões aritméticas


Operador de atribuição

Já sabemos que você pode definir o valor de uma variável usando a instrução de entrada. A instrução de entrada é usada nos casos em que o valor de uma variável é definido pelo usuário durante a execução do programa.

Mas muitas vezes precisamos definir um novo valor para uma variável calculando-a usando uma determinada fórmula. Nesse caso, o - operador de atribuição nos ajudará. 

A forma geral do operador de atribuição é:
  <nome da variável> = <expressão>; O operador de atribuição funciona assim:
1. primeiro, a expressão à direita do sinal de atribuição é avaliada;
2. O valor resultante da expressão é armazenado (digamos "atribuído") na variável à esquerda do sinal de atribuição. Neste caso, o valor antigo da variável é apagado.

Por exemplo, se quisermos definir a variável c para o dobro do valor da variável b, escreveremos assim: c = 2*b;
Não se esqueça que na programação você não pode omitir sinais de multiplicação em uma expressão. Caso contrário, o computador não entenderá o que você deseja multiplicar.
Por exemplo, você não pode simplesmente escrever c = 2b, isso estaria errado!

Expressões aritméticas

A expressão do lado direito do operador de atribuição permite calcular valores usando várias fórmulas.
O que a expressão pode conter:
x números inteiros e números reais (nos números reais, as partes inteira e fracionária são separadas por um ponto, não por vírgula, como é de praxe na matemática);
x sinais aritméticos:  
+ adição,
- subtração,
* multiplicação,
divisão /,
% restante da divisão;

x chamadas para funções padrão (você precisa incluir a biblioteca math.h - #include<math.h>);
 abs(i) módulo inteiro i  (não usado em Silvertests, use a seguinte função):
 fabs(x) módulo de número real x;
 sqrt(x) raiz quadrada de um número real x;
 pow(x,y) avalia x à potência de y;

x parênteses para alterar a ordem das ações.

Funções embutidas


Qualquer linguagem de programação inclui muitas funções internas que podem ser usadas em expressões aritméticas. Para usar funções adicionais, muitas vezes você precisa incluir bibliotecas adicionais.

Por exemplo, as funções matemáticas padrão mais usadas e suas notações em C e C++:
 abs(i) módulo do inteiro i;
 fabs(x) módulo de um número real x;
 sqrt(x) raiz quadrada de um número real x;
 pow(x,y) calcula x elevado a y.

Deve ser lembrado que o argumento da função é sempre escrito entre colchetes.
Para que essas funções funcionem, você precisa conectar uma biblioteca matemática adicional.
Você pode fazer isso adicionando a linha:
  #include<math.h>

Gravação de operações aritméticas
Digamos que precisamos calcular uma expressão escrita na forma matemática desta  maneira:
\({ 2\ \cdot\ 17,56^2 \over {7\ \cdot\ 2,47\ \cdot \ 0,43}} \)
 
Regras para escrever expressões aritméticas
1. A expressão pode conter números, outros nomes de variáveis, sinais de operação, parênteses, nomes de função, operações aritméticas e seus sinais (+, -, *, /, %).
2. O separador entre as partes inteiras e fracionárias é um ponto.
3. A expressão é escrita em uma linha (notação linear das expressões);
Assim, seguindo as regras para escrever expressões aritméticas, devemos traduzir a fração dada(notação matemática) em uma notação linear, ou seja, escrever a fração em uma linha. Como o numerador e o denominador são complexos (ou seja, contêm dois ou mais fatores), ao escrever uma expressão de forma linear, é necessário colocar o numerador e o denominador entre colchetes.
Assim, a notação linear de tal expressão ficará assim:
  (2*17,56*17,56)/(7*2,47*0,43)
Vamos escrever um programa para calcular o valor dessa expressão. Para isso, vamos definir os dados de entrada e saída.

Entrada
Porque conhecemos todos os valores, então nada precisa ser inserido no teclado, portanto não haverá valores de entrada.

Impressão
O programa deve exibir o resultado da expressão aritmética fornecida (o resultado pode ser salvo em alguma variável ou exibido imediatamente na tela).

No programa, exibiremos imediatamente o resultado na tela. Como temos uma fração, o resultado será um número real. 
  #include<iostream> usando namespace std; principal() { cout << (2*17,56*17,56) / (7*2,47*0,43); } Execute o programa em seu computador e verifique se ele retorna 82.949843.
 

Recursos de divisão em C e C++

Existem dois operadores de divisão na linguagem de programação C:
/ divisão  e % cálculo do restante da divisão.
 
É preciso lembrar!
1) a operação de cálculo do resto da divisão (%) é realizada APENAS sobre números inteiros;
2) o resultado da operação de divisão (/) depende do tipo dos operandos.   
 
Regra
Ao dividir um número inteiro por um número inteiro, a parte fracionária é sempre descartada, não importa em que tipo de variável armazenamos o valor . 
Ao armazenar um resultado real em uma variável inteira, a parte fracionária também será descartada.


Vejamos exemplos de operações de divisão: int i, n; flutuante x; i = 7; x = i/4; // x=1, inteiro dividido por inteiro x = i / 4.; // x=1.75, inteiro dividido por fracionário   // (4 - sem ponto é tratado como inteiro,   // 4. (com um ponto) - este já é um número real!) x =(float) i / 4; // x=1,75, decimal dividido por inteiro -   // aqui a variável i é convertida em um número real // é uma conversão de tipo EXPLICIT n = 7. / 4.; // n=1, o resultado é escrito em uma variável inteira