Expressões

Description

Primeira parte, expressões.
Wendy-Anna Lopes
Mind Map by Wendy-Anna Lopes, updated more than 1 year ago
Wendy-Anna Lopes
Created by Wendy-Anna Lopes over 8 years ago
20
0

Resource summary

Expressões

Annotations:

  • 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
  1. Tipos de Expressões

    Annotations:

    • 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
    1. Literais

      Annotations:

      • 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
      1. Agregação

        Annotations:

        • 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.
        1. Subexpressões
          1. Estáticas

            Annotations:

            • Avaliadas em tempo de compilação.
            1. Dinâmicas

              Annotations:

              • Avaliadas em tempo de execução.
          2. Expressões Aritméticas

            Annotations:

            • 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.
            1. Expressões Relacionais

              Annotations:

              • Uma expressão relacional é usada para comparar os valores de seus operandos. Os valores dos operandos devem ser de um mesmo tipo. Tipica
              1. Expressões Booleanas

                Annotations:

                • 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.
                1. Expressões Binárias

                  Annotations:

                  • 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.
                  1. Expressões Condicionais

                    Annotations:

                    • 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
                    1. Chamadas de Funções

                      Annotations:

                      • 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
                      1. Expressões com Efeitos Colaterais

                        Annotations:

                        • 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
                        1. Expressões de Referenciamento

                          Annotations:

                          • 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.
                          1. Expressões Categóricas

                            Annotations:

                            • 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.
                          2. Avaliação de Expressões Compostas

                            Annotations:

                            • 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.
                            1. Precedência de Operadores

                              Annotations:

                              • 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.
                              1. Associatividade de Operadores

                                Annotations:

                                • 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
                                1. Precedência de Operandos

                                  Annotations:

                                  • 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.
                                  1. Avaliação de Expressões Compostas com Curto Circuito

                                    Annotations:

                                    • 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.
                                  Show full summary Hide full summary

                                  Similar

                                  Estado e questão social no capitalismo de monopólios
                                  Sérgio Souza
                                  Good expressions & Phrasal Verbs
                                  Caio Uechi
                                  Expressões do latim
                                  Raphael Magliano
                                  Expressões Idiomáticas
                                  Ívyna Marques
                                  Expressões famosas (Inglês)
                                  Thauan Melo
                                  Expressions
                                  Aline Lopes
                                  Introdução
                                  Ozimpio Ozzy
                                  Expressões que se assemelham na grafia.
                                  Lucas Alex
                                  Estado e questão social no capitalismo de monopólios
                                  elisa brito