A Notação e símbolos
Nestas páginas tentou-se usar uma notação simples
e uniforme (inspirada em [1]). No entanto, a publicação
dos textos em HTML obrigou a alguns compromissos. Na próxima
secção apresentam-se a notação e os símbolos
usados.
A.1 Notação e símbolos
-
Todos os pedaços de código e construções específicas
do C++ aparecem em tipo (de letra) de largura constante (normalmente Courier).
Por exemplo: main() e i++;. Em tudo o resto usa-se
um tipo proporcional.
-
As variáveis matemáticas aparecem sempre em itálico.
Por exemplo: n = q m + r.
-
Os produtos matemáticos nem sempre são escritos explicitamente:
p
q significa o mesmo que p * q, ou seja, o produto de
p
por q.
-
O valor absoluto de um número x representa-se por |x|
ou abs(x).
-
Os símbolos usados para as igualdades e desigualdades quando inseridos
em expressões matemáticas (e não expressões
C++, onde a notação C++ é usada) são os seguintes:
-
= significa "igual a".
-
<> significa "diferente de".
-
> significa "maior que".
-
>= significa "maior ou igual a".
-
< significa "menor que".
-
<= significa "menor ou igual a".
-
A conjunção e a disjunção representam-se pelas
palavras "e" e "ou" em negrito: e e ou (oux significa
"ou exclusivo").
-
Os valores lógicos representam-se por:
-
V significa verdadeiro.
-
F significa falso.
-
A negação representa-se pelo operador ~.
-
Os quantificadores representam-se como se segue (em todos os casos à
variável i chama-se variável (muda) de quantificação):
-
Soma (S i : m <= i < n : f(i))
é a soma (o somatório) dos valores que a função
f()
toma para todos os valores do inteiro i verificando m <=
i
< n. I.e., é o mesmo que f(m) + f(m+1)
+ ... + f(n-1).
-
Produto (P i : m <= i < n : f(i))
é o produto dos valores que a função f() toma
para todos os valores do inteiro i verificando 1 <= i <=
n.
I.e., é o mesmo que f(m)f(m+1) ... f(n-1).
-
(Q i : m <= i < n : p(i))
é a conjunção dos valores (lógicos) que o predicado
p()
toma para todos os valores do inteiro i verificando 0 <= i
< n. I.e., é o mesmo que p(m)
e
p(m+1)
e ... e p(n-1), ou seja, qualquer que seja
i com 0 <= i < n,
p(i) é
verdadeira.
-
(E i : m <= i < n : p(i))
é a disjunção dos valores (lógicos) que o predicado
p()
toma para todos os valores do inteiro i verificando 0 <= i
< n. I.e., é o mesmo que p(m)
ou
p(m+1)
ou ... ou p(n-1), ou seja, existe pelo menos
um i com 0 <= i < n,
p(i) é
verdadeira.
-
(N i : m <= i < n : p(i))
é o número dos valores (lógicos) verdadeiros que o
predicado
p()
toma para todos os valores do inteiro i verificando 0 <= i
< n. I.e., é o número de valores lógicos
verdadeiros na sequência
p(m), p(m+1),
... p(n-1).
Note-se que os quantificadores têm, por definição,
os seguintes valores quando a gama de valores possíveis para a variável
de quantificação é nula (i.e., quando m > n):
-
(S i : m <= i < n : f(i))
= 0
-
(P i : m <= i < n : f(i))
= 1
-
(Q i : m <= i < n : f(i))
= V
-
(E i : m <= i < n : f(i))
= F
-
(N i : m <= i < n : f(i))
= 0
Em geral, o valor destes quantificadores quando a gama de variação
da variável de quantificação é nula é
o elemento neutro da operação repetitiva realizada.
Assim, para a soma é 0, para o produto é 1, para a conjunção
é V e para a disjunção é F.
Predicado: expressão matemática
envolvendo variáveis que, de acordo com o valor dessas variáveis,
pode ter valor lógico verdadeiro ou falso. Por exemplo, x
> y é um predicado. Se x = 1 e y = 0
o predicado tem valor lógico V (verdadeiro).
A.2 Referências
[1] David Gries, "The Science of Programming", volume da série
"Texts and Monographs in Computer Science", editada por David Gries, Springer-Verlag,
Nova Iorque, 1981 [1989]. *
* Existe na biblioteca do ISCTE.