Sei sulla pagina 1di 1

Controle de Decisão com AND e OR

IF ... THEN ... ELSE ... - Executar determinadas tarefas dependendo da decisão, caso seja verdadeiro ou falso, porém, as vezes
temos a necessidade de fazer mais de uma pergunta em determinadas situações.
Sintaxe Simples: IF <condição> THEN <execute 1 > ELSE <execute2>; Onde:
Sintaxe Composta: IF ( <condição 1>) O.R ( <condição 2>) … THEN <execute 1 > ELSE <execute2>;
Lembrando, onde:
Condição - É avaliada como TRUE ou FALSE para assegurar o caminho.
Execute1 - Será executado se a condição for avaliada como TRUE.
Execute2 - Opcional, somente se for necessário executar algo, se a condição for FALSE.
WriteLn ('SUA IDADE ? ');
ReadLn (IDADE);
{Crítica da Idade}
IF (IDADE < 1) OR (IDADE > 130)
{ ... Bloco verdadeiro ... }
THEN Begin
WriteLn ('Valor Estranho');
WriteLn ('Digite outro');
End
{ ... Bloco falso ... }
ELSE Begin WriteLn ('Idade Aceita'); End;

Tabela de verdade usando os Operadores AND e OR


Condição 01, usando o OR:
IF (Pergunta - A) OR (Pergunta - B) Then ... Else ...
A B Resultado Executa
V V V Then
F V V Then
V F V Then
F F F Else

Condição 02, usando o AND:


IF (Pergunta - A) AND (Pergunta - B) Then ... Else ...
A B Resultado Executa
V V V Then
F V F Else
V F F Else
F F F Else

OBS.: QUANDO QUEREMOS MUITAS RESPOSTAS PARA UMA MESMA PERGUNTA, PODE-SE USAR
TAMBÉM, O COMANDO CASE, que serve para variáveis com um único Digito, ou Valores numéricos
inteiros. (veremos depois).

A ação descrita para cada decisão CASE ... OF – permite ao programador comparar entradas de
conjuntos de casos e tomar desvios para executar.
Sintaxe:
CASE {seletor} OF
{Expressão 1}: {comando da expressão 1};
{Expressão n}: {comando da expressão n}
ELSE {comando};
End; // Todo case tem um END

Potrebbero piacerti anche