Escolar Documentos
Profissional Documentos
Cultura Documentos
cba
count++
-x
a+b
0 if b == 0 else a / b
- A ** B
é equivalente
-(A**B)
a + (- b) *c
count++
++count
!x
notação prefixa
//erro
A ** B ** C
A×B+C
(da mesma forma como ocorre na matemática)
(A + B) * C
Exemplo C:
Teste para evitar a divisão por zero
res = (b == 0) ? 0 : a / b;
x = 0 if (b == 0) else (a / b)
if (b==0){
res = 0;
} else {
res = a / b;
}
(só depois é possível usar como operando)
x = 10 + f(a)
a = 5;
x = 10 + a + f(a);
f(a){
a = 30;
}
(no caso do C, poderia ser proibindo o
uso de variáveis globais em funções)
result1 = (fun(a) + b) / (fun(a) - c);
temp = fun(a);
result2 = (temp + b) / (temp - c);
• A mais importante é que sua semântica é muito mais fácil de entender do que
a dos não transparentes referencialmente.
float res = x + y
A : Integer;
B, C, D : Float;
...
C := B * A;
influenciando na confiabilidade
• Python: float(angle)
, resultando em um valor booleano
int x, y, z;
x = 3;
y = 2;
z = 1;
printf("%d", (x > y > z));
• Esse atalho é difícil de ser detectado em expressões aritméticas, então ele
nunca é tomado
(a >= 0) && (b < 10)
caso seja FALSE && (c<10)
não é preciso analisar o restante
aqui é feito um
acesso fora da faixa
a = b + (c = d / b) - 1 x = cont = 0;
• Perl
($first, $second, $third) = (20, 40, 60);