LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTERFACES Prof. Thiago Pereira Rique
PARADIGMAS DE LINGUAGENS EXPRESSÕES E INSTRUÇÕES DE ATRIBUIÇÃO Prof. Thiago Pereira Rique...
-
Upload
olivia-sabrosa-valente -
Category
Documents
-
view
223 -
download
2
Transcript of PARADIGMAS DE LINGUAGENS EXPRESSÕES E INSTRUÇÕES DE ATRIBUIÇÃO Prof. Thiago Pereira Rique...
PARADIGMAS DE LINGUAGENS
EXPRESSÕES E INSTRUÇÕES DE ATRIBUIÇÃO
Prof. Thiago Pereira [email protected]://thiagorique.wordpress.com/
AGENDA Introdução Expressões aritméticas Conversões de tipo Expressões relacionais e booleanas Instruções de atribuição
INTRODUÇÃO Expressões
Especificar computações Avaliação de expressões
Instruções de atribuição Mudar o valor de uma variável.
EXPRESSÕES ARITMÉTICAS Apresentam convenções herdadas da
Matemática.
Consistem em: Operadores Operandos Parênteses Chamadas a função
Operadores Unários Binários Operador ternário (C, C++, Java)
EXPRESSÕES ARITMÉTICAS Ordem de avaliação de operadores
Precedência: baseia-se nas regras da Matemática. Exponenciação Multiplicação e divisão Adição e subtração
Associatividade: determina que operador será avaliado primeiro (operadores com mesma precedência). Associatividade à esquerda Associatividade à direita
EXPRESSÕES ARITMÉTICAS Ordem de avaliação de operadores
Exemplo de expressão Java:
EXPRESSÕES ARITMÉTICAS Ordem de avaliação de operadores
Parênteses: alterar as regras de precedência e de associatividade. Ex: (A + B)*C
Expressões condicionais:às vezes, instruções if-then-else são usadas para atribuição de expressão condicional. Ex: if (cont == 0)
then media = 0;else media = soma/cont;
EXPRESSÕES ARITMÉTICAS Ordem de avaliação de operadores
Expressões condicionais: C, C++ e Java: expressão_1 ? expressão_2 :
expressão_3 Ex: media = (cont == 0) ? 0 : soma/cont; ? Operador ternário.
CONVERSÕES DE TIPO As conversões de tipo podem ser de
estreitamento ou de alargamento.
Estreitamento: double para float em C.
Alargamento: int para float em C.
CONVERSÕES DE TIPO Coerção:
Conversão implícita feita pelo compilador. Ex:int a;float b, c;...b = a * c;
CONVERSÕES DE TIPO Conversão explícita: realizada explicitamente
pelo programador (cast). Ex:int a, b, c;float d;...d = b / c;a = (int) d;
EXPRESSÕES RELACIONAIS E BOOLEANAS Expressões relacionais
Operador relacional: compara os valores de seus dois operandos.
Expressão relacional: dois operandos e um operador relacional.
O valor da expressão relacional é booleano (se oferecido pela linguagem).
EXPRESSÕES RELACIONAIS E BOOLEANAS Sintaxe dos operadores relacionais em
algumas linguagens:
Operação Ada Java FORTRAN 90
Igual = == .EQ. ou ==Diferente /= != .NE. ou <>Maior que > > .GT. ou > Menor que < < .LT. ou < Maior que ou igual
>= >= .GE. ou >=
Menor que ou igual
<= <= .LE. ou <=
EXPRESSÕES RELACIONAIS E BOOLEANAS Expressões relacionais
Os operadores relacionais sempre têm precedência menor do que os ariméticos. a + 1 > 2 * b
EXPRESSÕES RELACIONAIS E BOOLEANAS Expressões booleanas:
Consistem em variáveis, constantes, expressões relacionais e operadores booleanos (AND, OR e NOT, por exemplo).
Produzem valores booleanos.
EXPRESSÕES RELACIONAIS E BOOLEANAS Expressões booleanas:
Exemplo Ada:
Operadores booleanos da Ada (exceto not) possuem mesmo nível de precedência, porém não são associativos.
A > B and A < C or K = 0 (ilegal na Ada)
(A > B and A < C) or K = 0
A > B and (A < C or k = 0)
EXPRESSÕES RELACIONAIS E BOOLEANAS Expressões booleanas:
O C não tem nenhum tipo booleano.
Valores numéricos e constantes são usados: zero (falso) e diferente de zero (verdadeiro).
Resultado de avaliação: 0 (falso) e 1 (verdadeiro).
A expressão a > b > c é válida em C.
INSTRUÇÕES DE ATRIBUIÇÃO Permitem modificar dinamicamente as
vinculações de valores a variáveis.
Atribuições simples: <variável_alvo><operador_de_atribuição><expr
essão> FORTRAN, BASIC, PL/I, C, C++ e Java usam =
como símbolo de atribuição, o que pode gerar confusão em alguns casos: A = B = C (PL/I) A instrução acima define A para o valor booleano da
expressão relacional B = C.
INSTRUÇÕES DE ATRIBUIÇÃO Operadores de atribuição compostos: método
abreviado de especificar uma atribuição.
Ex:soma += valor; equivale asoma = soma + valor;
INSTRUÇÕES DE ATRIBUIÇÃO Operadores de atribuição unários: combinam
operações de incremento e decremento que podem ser prefixadas ou pós-fixadas.
Ex: soma = ++cont; equivale a cont = cont + 1;
soma = cont;
Ex: soma = cont++; equivale a soma = cont;
cont = cont + 1;
REFERÊNCIA SEBESTA, Robert W. Conceitos de Linguagens
de Programação. 5a. Edição. São Paulo: Bookman, 2003.