1. Tipo de dado simples "Boolean"
Uma condição ou é verdadeira ou é falsa, não há meio-termo. E uma condição é o que indica ao computador o que deve fazer a seguir numa estrutura de controlo. Sem nos apercebermos, estamos a utilizar um tipo de dado simples que é a base das bases da programação: o booleano.
Que valores assume?
Assume somente dois valores: True e False.
Quando uma condição é verdadeira, vai ser retornado True. Caso contrário, é retornado False.
Definição de booleano
Um booleano é, então, um tipo de dados simples que indica ao computador a veracidade de uma condição ou de uma proposição.
Consequências da definição
- Qualquer proposição retorna um Booleano.
- Qualquer condição retorna um Booleano.
Utilização
Estruturas de controlo
if (a >= 0) then write('Positivo ou nulo.')
else write('Negativo.');
Este é um exemplo simples de uma condição numa estrutura de controlo, neste caso a estrutura de decisão If Then Else. a >= 0 é a condição, e, assim sendo, o seu resultado é um booleano. Se o valor atribuído à variável numérica a for maior ou igual que zero então é mostrada a mensagem "Positivo ou nulo.", caso contrário mostra "Negativo" - ou seja, se a >= 0 retorna True, o número é positivo ou nulo, e se retornar False é porque não o é, ou seja, é negativo.
Qualquer estrutura de controlo, excepto o ciclo For To/DownTo, tem uma condição implícita, e no lugar dela podemos colocar directamente uma variável booleana.
var b : boolean;
// ...
b := False;
repeat
// código...
if {condição} then b := True;
until b;
Ou seja, o programa sairá do ciclo quando b for True. Para um ciclo While, para termos o equivalente, teríamos de fazer o seguinte:
while not b do begin
// código...
if {condição} then b := True;
end;
Variáveis
Como visto anteriormente, podemos criar variáveis booleanas que podem controlar várias estruturas ou simplesmente indicar determinada informação.
var masculino : booleano;
// ...
if masculino then write('Masculino')
else write('Feminino');
Funções
Uma função também pode retornar um booleano. Por exemplo:
function eMultiplo (const a, b : real) : boolean;
begin
if (a mod b = 0) then eMultiplo := True
else eMultiplo := False;
end;
Atribuição
Para atribuir um valor a uma variável booleana, podemos fornecer directamente o valor...
var foo : boolean;
// ...
foo := False;
... ou fornecer o resultado de uma condição/proposição...
foo := (a = 1);
Desta forma, o código da função 'eMultiplo' poderia ser simplificado para o seguinte:
function eMultiplo (const a, b : real) : boolean;
begin
eMultiplo := (a mod b = 0);
end;