Buscar

Cap 7

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Continue navegando