Open main menu

Muitas situações podem ser, e são, modeladas usando um sistema que tem-se um de dois estados quaisquer. Dependendo do contexto, o par de estados pode ser conhecido por verdadeiro e falso, ou ligado e desligado ou bom e mau, e assim por diante. Exemplos teóricos que vêm à mente ao mesmo tempo são as afirmações precisas que são feitas em ciências matemáticas e físicas, que são considerados como sendo verdadeiro ou falso. Entre as aplicações mais importantes está a modelagem de circuitos digitais em computadores, em que interruptores eletronicos podem também ser ligados ou desligados. Agora, veremos como Maple pode ser usado para manipular sistemas algébricos aritméticos, e para modelar as suas leis, ou regras, simbolicamente. Assim também, podemos modelar a aritmética da álgebra booleana. Na verdade, álgebra booleana é de certo modo mais simples que álgebra numérica, por isso é mais fácil. (Pelo menos, será, uma vez que ela se torne familiar para você).


Funções Booleanas

Em Maple, há um construtor do tipo boolean, isto é, um tipo de variável que pode ser usado para representar valores booleanos. Existem apenas dois valores booleanos e em Maple eles são representados por literais ‘true’ e ‘false’. Para o Maple, estes dois são valores constantes, assim como o numero 2 ou a matrix identidade 3x3 são constantes. Se você atribuir alguma dessas duas constantes para uma variavel então o valor da variavel será um valor constante.

a := true;
b := false;

Dois valores constantes por si só não são muito interessantes. Para fazer coisas úteis, nós precisamos ser capazes de realizar operações significativas sobre elas. Para tal, Maple oferece dois conjuntos de operadores booleanos para realizar operações em variáveis booleanas e literais. O primeiro conjunto consiste nos operadores ‘and’, ‘or’ e ‘not’. Em Maple também é disponibilizado os operadores &and, &or e &not para operar sobre literais booleanos e variaveis com simplicidade. Eles estão disponiveis no pacote logic da linguagem. A diferença entre os dois conjuntos esta na forma em que as expressões formadas usando eles são simplificadas, por exemplo:

true and false;
true &and false;
a := 'a';
not not a;
&not &not a;
&not (&not a);
a and b and c and d;
true and true;
	true and false;
	false and true;
	false and false;