Alguns comandos servem para selecionar ou verificar o conteúdo das variáveis. Esta estrutura de comando se chama
SE (IF) ou pode ser também o CASO (Case).
IF ... Then ... Else ... / Case ... of ...
Estrutura em pseudocódigo do SE (IF)
Se (Condição)
Então ...
Senão ...
=> A (Condição) é que vai verificar a situação e definir o que deve ser feito dependendo da resposta.
Na condição usa-se:
VARIAVEL1 O.R. (VALOR)
(VARIAVEL2)
Onde,
VARIAVEL1: É a variável que se deseja abrir (verificar) o seu conteúdo.
VALOR OU VARIAVEL2: É a variável ou um valor que se deseja comparar com a VARIAVEL1.
O.R.: Operador relacional que vai ser usado para a seleção. O.R. (>,<. <>, >=, <=, =, and , or, not).
VARIAVEL1 O.R. (VALOR)
(VARIAVEL2)
Regras:
1) Pode existir uma decisão sem o SENÃO(Else), mas, não existe SENÃO sem o ENTÃO (Then);
2) Num comando SE(IF) nunca se deve usar o ponto e virgula ; antes do SENÃO (Else).
Obs.: Em algumas situações será necessário executar mais de um (1) comando nas opções verdadeiras e nas falsas
(Seleção Composta). Então devemos colocar os comandos dentro de BLOCOS. BLOCO: É utilizado para agrupar
um (1) ou mais comandos. Deve ter um Início (BEGIN) e um Fim (END).
Ex.:
SE IDADE > 18
ENTÃO INICIO
ESCREVA ('VOCÊ É DE MAIOR');
ESCREVA ('Deve se alistar no exército');
ESCREVA ('Pode fazer a carteira de motorista');
...
FIM;
IF SEXO = 'F'
Then WriteLn ('Levantar a Mão') // Executa quando for Verdade
Else WriteLn ('Ficar de Pé'); // Executa quando for Falso
2) Verificando a Altura de pessoas. E -> ALTURA (Pessoas maiores 1.8 tem que Jogar basquete)
SE ALTURA > 1.8 Então Jogar Basquete
Var ALTURA : Real;
Begin
WriteLn ('Informe a Altura->');
ReadLn (Altura);
Exemplo: Com o nome, sexo, idade e notas dos 4 bimestres de alunos, calcule a media e informe se o aluno está
APROVADO ou REPROVADO com a Media >= 7.
* Resolução com apenas um comando na verdade ou no falso.
E = NO, SE, ID, B1, B2, B3, B4
P = M := (B1+B2+B3+B4)/4
S = SE M >= 7 ENTAO ESCREVA APROVADO
SENAO ESCREVA REPROVADO
Program Decisao_01;
Var NO, SE : String;
ID : Integer;
B1,B2,B3,B4, M : Real;
Begin WriteLn ('INFORMAÇÕES DO ALUNO');
WriteLn ('====================');
WriteLn ('Informe o nome -> '); Read (NO);
WriteLn ('Informe o sexo -> '); Read (SE);
WriteLn ('Informe a idade -> '); Read (ID);
WriteLn ('Informe a nota do 1 Bim-> '); Read (B1);
WriteLn ('Informe a nota do 2 Bim-> '); Read (B2);
WriteLn ('Informe a nota do 3 Bim-> '); Read (B3);
WriteLn ('Informe a nota do 4 Bim-> '); Read (B4);
WriteLn ('====================');
M := (B1+B2+B3+B4)/4;
IF M >= 7 THEN WriteLn ('Aluno ',NO,' foi APROVADO')
ELSE WriteLn ('Aluno ',NO,' foi REPROVADO');
End.