Ir para o conteúdo

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;

Documentos de apoio