Buscar

Operadores e Expressões em Programação

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

ECT1203 Linguagem de Programação
2012.2
Prof. Diego Rodrigues de Carvalho
Profa. Idalmis Milián Sardina
Prof. Luiz Eduardo Cunha Leite
Prof. Marconi Câmara Rodrigues
Aula 04 – Operadores e expressões
Universidade Federal do Rio Grande do Norte
Escola de Ciências e Tecnologia
Hora de silenciar o celular
Manter o celular sempre desligado/silencioso quando estiver em sala de aula
Nunca atender o celular em sala de aula
Revisão da aula anterior
Variáveis: maneira mais simples de trabalhar com a memória.
Declaração de variáveis: tipo identificador;
Principais tipos:
char (char nome;)
int (int idade;)
float (float peso;)
Entrada de dados pelo teclado: cin >> variável;
Saída de dados no monitor; cout << “texto”;
Objetivo da aula
Responder as seguintes perguntas:
Aula passada eu aprendi como a memória funciona e como passar uma informação para ela e como mostrar uma informação que esteja nela... mas como eu faço para alterar uma informação que esteja na memória?
O que acontece se eu misturar informações diferentes?
Nova definição
Atribuição: Além das constantes, como visto na aula passada, os operadores e variáveis também podem ser utilizados na atribuição.
Atribuição
Uma variável recebendo o valor de outra variável
O compilador busca na memória a informação de uma variável e passa o valor para outra variável sem alterar o valor da primeira.
Ex: var2 = var1;
03
var1
34
var2
03(var1)
13
...
...
34(var2)
Antes da atribuição
Atribuição
Uma variável recebendo o valor de outra variável
O compilador busca na memória a informação de uma variável e passa o valor para outra variável sem alterar o valor da primeira.
Ex: var2 = var1;
03
var1
34
var2
03(var1)
13
...
...
34(var2)
13
Depois da atribuição
Operadores
Operadores tem como finalidade transformar uma informação em uma nova informação
Operadores matemáticos
Operadores de incremento/decremento
Operadores lógicos e relacionais
Operadores bit a bit
Operador sizeof
Operadores aritméticos
Operador
Ação
-
Subtração,menos unário
+
Adição
*
Multiplicação
/
Divisão
%
Móduloda divisão
Os operações são feitas na precisão dos operandos.
Atenção!
Usar exemplo no Dev C++
9
Code::Blocks
Faça um programa que calcule a força aplicada em um corpo.
Definição de força: é o produto da massa de um corpo pela sua aceleração.
Code::Blocks
Faça um programa que calcule a força aplicada em um corpo.
Definição de força: é o produto da massa de um corpo pela sua aceleração.
12
massa
55
acel
148
forca
12(massa)
34.4
...
...
55(acel)
9.8
...
...
148(forca)
Depois do usuário digitar os valores
Code::Blocks
Atribuição: forca = massa * acel;
Passos do compilador:
Quem é “massa”? Resposta: é o conteúdo da posição 12 da memória.
Compilador vai na posição 12 da memória e substitui “massa” pelo conteúdo da memória.
Mesma operação é feita com “acel”
forca = 34.4 * 9.8;
Executa o operador matemático (34.4*9.8 é 337.12)
A constante é atribuída a variável “forca”
12
massa
55
acel
148
forca
12(massa)
34.4
...
...
55(acel)
9.8
...
...
148(forca)
337.12
Após a operação de atribuição
Incremento e decremento
Operador
Ação
++
Soma 1 ao seu operando
--
Subtrai 1 ao seu operando
++x;
x = x + 1;
é o mesmo que
--x;
x = x - 1;
é o mesmo que
X++;
x--;
Usar exemplo no Dev C++
14
Code::Blocks
Faça um programa que peça para o usuário digitar um número e em seguida mostre o próximo valor.
Pergunta: Se mais de um operador estiver presente, qual deve ser executado primeiro?
Exemplo: 6/2*(1+2)
Pergunta: Se mais de um operador estiver presente, qual deve ser executado primeiro?
Precedência dos operadores aritméticos
Maisalta
++ --
* / %
Maisbaixa
+-
Operadores do mesmo nível de precedência, em uma mesma linha, são avaliados da esquerda para a direita.
Parânteses podem ser usados para forçar uma (ou mais) operação a ter precedência maior, assim como na matemática.
Usar exemplo no Dev C++
18
Code::Blocks
Faça um programa que peça para o usuário digitar três valores x,y,z (ex: 6,2,4) e em seguida mostre:
O resultado de: x*(y/z)
O resultado de : (x*y)/z
O resultado de : x*y/z
Operadores aritméticos de atribuição
Pode ser aplicado a todo operador binário. 
variável = variável operador expressão;
variável operador = expressão;
é o mesmo que
i = i + 10;
x = x * (y + 1);
a = a – 120;
i += 10;
x *= y + 1;
a -= 120;
exemplos
Usar exemplo no Dev C++
20
Operadores lógicos e relacionais
São baseados na idéia de verdadeiro e falso.
VERDADEIRO = qualquer valor diferente de zero
FALSO = zero
As expressões que usam operdores relacionais ou lógicos devolvem zero para falso e 1 para verdadeiro.
Relacional refere-se às relações entre os valores.
Lógico refere-se a como essas relações podem ser conectadas.
21
Operadores lógicos e relacionais
Operador
Ação
>
Maior que
>=
Maior ou igual que
<
Menor que
<=
Menor ou igualque
==
Igual
!=
Diferente
Operador
Ação
&&
AND
||
OR
!
NOT
Relacionais
Lógicos
22
Operadores lógicos
AND = Será verdadeiro quando TODAS as condições forem verdadeiras.
OR = Será verdadeiro quando pelo menos UMA condição for verdadeira.
Operadores relacionais e lógicos ficarão mais claro quando estudarmos estruturas.
Precedência dos operadores lógicos e relacionais
São menores em precedência que os operadores aritméticos.
10 > 1 + 12
10 > (1 + 12)
é avaliado como
Maisalta
!
> >= < <=
== !=
&&
Maisbaixa
||
Usar exemplo no Dev C++
24
Operadores bit a bit
São aplicados aos bits individuais dos operandos.
Operação bit a bit refere-se a testar, atribuir ou deslocar os bits de tipos de dados char e int.
Operador
Ação
&
AND
|
OR
^
XOR (OR exclusivo)
~
Complemento de um
>>
Deslocamentoà esquerda
<<
Deslocamento à direita
25
Operador sizeof
Para calcular o tamanho de um tipo, deve-se usar parênteses.
É um operador que retorna o tamanho (em bytes) de uma variável ou especificados de tipo. 
float f;
cout << sizeof f << ‘\n’;
cout << sizeof(int) << ‘\n’;
exemplo
26
Conversão de tipos em expressões
Quando operandos de tipos diferentes são misturados em uma expressão, os valores são convertidos no tipo do maior operando.
double
float
int
char
prioridade de 
conversão
27
Conversão de tipos em expressões
28
Cast (operador de molde)
Cast é uma conversão explícita de tipo.
sintaxe
(tipo) expressão
int x = 13;
float y = (float) x/2;
exemplo
29
Conversão de tipos em atribuições
Quando se converte de:
inteiros para caracteres
inteiros longos para inteiros
inteiros para inteiros curtos
 perde-se a informação.
Quando se faz conversão envolvendo números em ponto flutuante, pode se perder precisão.
Regra: O valor do lado direito de uma atribuição é convertido no tipo do lado esquerdo.
Usar exemplos
30
Objetivo da aula
Responder as seguintes perguntas:
Aula passada eu aprendi como a memória funciona e como passar uma informação para ela e como mostrar uma informação que esteja nela... mas como eu faço para alterar uma informação que esteja na memória?
O que acontece se eu misturar informações diferentes?

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando