Zusammenfassung der Ressource
Expressões
Anmerkungen:
- Uma expressão é uma frase do programa que necessita ser avaliada e produz
como resultado um valor. Expressões são caracterizadas pelo uso de
operadores, pelos tipos dos operandos e pelo tipo de resultado que produzem
- Tipos de Expressões
Anmerkungen:
- Expressões podem ser classificadas de acordo com a natureza da opera-
ção que realizam, com os tipos de seus operandos e com o tipo do resultado
que produzem
- Literais
Anmerkungen:
- Expressões literais são consideradas como o tipo mais simples de expressão.
Essa expressão é usada para produzir um valor fixo e manifesto de
116
um tipo e não demanda o uso de um operador explícito
- Agregação
Anmerkungen:
- Uma expressão de agregação é utilizada para construir um valor composto
a partir de seus componentes. Os valores dos componentes do agregado
resultante são determinados através da avaliação das subexpressões que
compõem a expressão de agregação. Um operador de agregação é normalmente
denotado por marcadores de início e fim da expressão de agregação.
- Subexpressões
- Estáticas
Anmerkungen:
- Avaliadas em tempo de compilação.
- Dinâmicas
Anmerkungen:
- Avaliadas em tempo
de execução.
- Expressões Aritméticas
Anmerkungen:
- Expressões aritméticas são expressões similares às existentes nessa área
da matemática. Elas envolvem operandos e produzem valores de tipos
numéricos (inteiros, decimais, ou ponto flutuante). Exemplos de expressões
aritméticas são aquelas que denotam as operações de soma, subtra-
ção, multiplicação e divisão.
- Expressões Relacionais
Anmerkungen:
- Uma expressão relacional é usada para comparar os valores de seus operandos.
Os valores dos operandos devem ser de um mesmo tipo. Tipica
- Expressões Booleanas
Anmerkungen:
- Expressões booleanas realizam operações da Álgebra de Boole. Os operandos
das expressões booleanas são valores de tipo booleano ou equivalente
(quando a LP não oferece esse tipo). O tipo do resultado de uma expressão
booleana também é um valor booleano ou equivalente.
- Expressões Binárias
Anmerkungen:
- Algumas LPs fornecem operadores para a construção de expressões biná-
rias. Essas expressões realizam operações sobre conjuntos de dígitos binários,
isto é, manipulam bits. A vantagem de se oferecer expressões binárias
em LPs é permitir a criação de programas com tempo de processamento
mais eficiente e que também consomem menos memória.
- Expressões Condicionais
Anmerkungen:
- Expressões condicionais são compostas por várias (pelo menos, mais que
uma) subexpressões e retornam como resultado o valor de exatamente
uma dessas subexpressões. São usadas para avaliar expressões condicionalmente
de acordo com o contexto
- Chamadas de Funções
Anmerkungen:
- Chamadas de funções também são expressões. Elas produzem um resultado
através da aplicação de um operador (o nome da função) a um ou
mais operandos (os valores correspondentes aos parâmetros da função).
Na maioria das LPs, a única forma de se chamar uma função é através do
uso exclusivo de seu identificador
- Expressões com Efeitos Colaterais
Anmerkungen:
- O objetivo principal de avaliar uma expressão é retornar um valor. Na
maioria das LPs imperativas, contudo, é possível avaliar uma expressão
que tenha o efeito colateral de atualizar variáveis.
Uma função pode ter em seu corpo uma série de comandos antes de retornar
seu valor. É permitido declarar variáveis locais, usar comandos e
fazer atribuições. Funções possibilitam a ocorrência de efeitos colaterais
através da atualização de variáveis globais ou da passagem de parâmetros
por referência
- Expressões de Referenciamento
Anmerkungen:
- Expressões de referenciamento são utilizadas para acessar o conteúdo de
variáveis ou constantes ou para retornar uma referência a esses objetos
(geralmente, o endereço inicial onde esses objetos estão alocados). Normalmente,
a expressão utilizada para obter uma referência a uma variável
ou constante é também utilizada para acessar o seu conteúdo. Nesses casos,
a distinção entre a operação de acesso a conteúdo e a de obtenção de
referência é dada pelo local do programa onde a expressão é utilizada,
isto é, o seu contexto.
- Expressões Categóricas
Anmerkungen:
- Expressões categóricas realizam operações sobre tipos de dados. Elas
servem para extrair informações a respeito do tipo de uma variável ou
constante ou para converter um valor de um tipo para outro. Os operandos
de expressões categóricas podem ser um tipo de dados ou um objeto cujo
tipo deve ser investigado ou modificado.
- Avaliação de Expressões Compostas
Anmerkungen:
- Expressões compostas sempre envolvem duas ou mais operações. A ordem
de avaliação das operações de uma expressão composta pode influenciar
completamente o resultado obtido.
- Precedência de Operadores
Anmerkungen:
- Normalmente, os operadores de uma LP são ordenados por grau de precedência.
Operações cujos operadores possuem maior precedência são
realizadas antes das operações relacionadas aos operadores de menor precedência.
128
Caso não exista precedência entre operadores na LP (APL e SMALLTALK
não possuem), certas expressões compostas são avaliadas em uma
ordem pouco natural.
Isso certamente dificulta o entendimento
do programa. Por outro lado, a existência de graus de precedência
entre operadores exige que o programador se lembre das suas precedências
na hora de construir uma expressão composta, o que pode provocar
enganos.
- Associatividade de Operadores
Anmerkungen:
- Regras de associatividade de operadores são usadas quando a LP não define
regras de precedência entre operadores ou quando operadores adjacentes
da expressão composta têm a mesma precedência. Nesses casos, a
regra de associatividade é quem determina qual operador será avaliado
primeiro
- Precedência de Operandos
Anmerkungen:
- O compilador é quem decide qual operando
será avaliado primeiro. Como a avaliação de um operando pode afetar
ou não a avaliação do outro, surge o não determinismo. É importante destacar
que esse não determinismo pode ocorrer em situações comuns. O
exemplo seguinte mostra uma dessas situações de não determinismo.
- Avaliação de Expressões Compostas com Curto Circuito
Anmerkungen:
- A avaliação de expressões em curto circuito ocorre quando o resultado é
determinado antes que todos os operadores e operandos tenham sido avaliados.
Avaliações em curto circuito são muito usadas para avaliar as expressões
booleanas binárias de conjunção e disjunção. Quando o primeiro operando
avaliado na conjunção não é satisfeito, não existe necessidade de avaliar
o outro operando. O mesmo ocorre na disjunção, desde que o operando
avaliado primeiro seja satisfeito.