Baixe o app para aproveitar ainda mais
Prévia do material em texto
01) Precedência de operador..A ordem que as operações vão ser realizadas, por exemplo : a * b + c;nesse trecho, vai ser realizado primeiro a multiplicação em seguida a soma. Quando uma expressão inclui dois operadores que têm a mesma precedência (como * e / normalmente têm) – por exemplo, A / B * C – uma regra semântica é necessária para especificar qual dos operadores deve ter precedência. Essa regra é chamada de associatividade. 02) Possui 3 operandos. 03) Que precedem os operandos, ex: -- e ++; 04) Recursão à direita. Uma regra gramatical é recursiva à direita se o lado esquerdo aparece bem no final do lado direito. 05) Um operador sem recorrência tanto a direita quanto a esquerda. 06) regra de associatividade, da direita para a esquerda para todos os operadores. 07) Em C++ são implementados de maneira global, em Ruby funcionando apenas de maneira local. 08) Um efeito colateral de uma função, chamado de um efeito colateral funcional, ocorre quando a função modifica um de seus parâmetros ou uma variável global. (Uma variável global é declarada fora da função, mas é acessível na função). 09) A coerção é a conversão de tipo implícita iniciada pelo compilador. 10) if-then-else são exemplos, comandos. 11) Um operador sobrecarregado é um que tem múltiplos significados. O significado de uma instância em particular de um operador sobrecarregado é determinado pelos tipos de seus operandos. Por exemplo, se o operador * tem dois operandos de ponto flutuante em um programa Java, ele especifica uma multiplicação de ponto flutuante. Mas se o mesmo operador tem dois operandos inteiros, ele especifica multiplicação de inteiros. 12) Conversão de estreitamento: converte um valor para um tipo que não pode armazenar aproximações equivalentes a todos os valores do tipo original. Por exemplo, converter um double para um float em Java é uma conversão de estreitamento, porque a faixa do tipo double é muito maior do que a de float. Conversão de alargamento converte um valor para um tipo que pode incluirão menos aproximações de todos os valores do tipo original. Por exemplo, converter um int para um float em Java é uma conversão de alargamento. 13) Em JavaScript o “ == “ sofre coerção, já no operador “ === “ nenhum coerção é feita. 14) Expressões de modo misto são expressões onde um operador pode ter operandos de tipos diferentes. 15) Um programa tem a propriedade de transparência referencial se quaisquer duas expressões no programa que têm o mesmo valor puderem ser substituídas uma pela outra em qualquer lugar no programa, sem afetar a ação deste. 16) A mais importante é que sua semântica é muito mais fácil de entender do que a dos não transparentes referencialmente. Ser transparente referencialmente torna uma função equivalente a uma função matemática, em termos de facilidade de entendimento. 17) 18) Uma avaliação em curto-circuito de uma expressão é uma avaliação na qual o resultado é determinado sem avaliar todos os operandos e/ou operadores. 19) Ruby, Perl e Python são sempre avaliados em curto-circuito, Ada o programador pode escolher. 20) Oferece suporte oferecendo operadores lógicos de alto nível como por exemplo a>b>c, são mais de 40 operadores e 14 níveis. 21) um atalho para especificar uma forma de atribuição necessária. 22) ++,--,** 23) ele tem o efeito colateral de modificar seu operando da esquerda. Logo é melhor tê lo como operando de atribuição. 24) Ruby e Perl. 25) Ada não permite atribuições de modo misto. 26) Em Java, é permitido a atribuição de modo misto apenas se a coerção requerida é de alargamento. 27) São conversões de tipo explícitas.
Compartilhar