Se
você parar um instante para pensar, verá que um programa nada
mais é do que um conjunto determinado de testes e decisões,
que operam com as variáveis. Por exemplo, se determinada variável
tem um determinado valor, então o programa faz uma coisa, senão
faz outra. Como é isso na linguagem do Delphi?
if... then...
Ou
seja, if (se alguma coisa for verdadeira)
then faz o que se segue, senão
ignora essa programação e segue em frente. Por exemplo: digamos
que nosso programa tem uma variável chamada Valor e que devemos,
em determinado ponto, verificar se ela contém o valor 5.
Se tiver, devemos acrescentar mais 3 a ela. A programação
seria feita da seguinte forma:
if Valor = 5 then Valor:= Valor + 3;
Note
que o "=" usado na comparação é diferente
do ":=" usado na atribuição. As atribuições
(igualdade forçada, ou seja, "faça ser igual a")
são sempre escritas com o sinal ":" e o sinal "=".
Pela
nossa explicação, Se Valor for igual a 5, será
feita a soma (Valor:= Valor + 3). Se valor
for diferente, a expressão será ignorada e o Delphi
passa a execução para a próxima linha. Porém
pode ser preciso uma alternativa a simplesmente ignorar as instruções
seguintes. Por exemplo, se Valor for igual a 5, some 3
a ele, caso contrário diminua 2. A estrutura que usamos,
neste caso é
if... then... else...
Ou
seja:
if Valor = 5 then Valor:= Valor +3 else Valor:= Valor -2;
Preste
muita atenção pois Valor:= Valor -2
só será executada quando Valor for diferente de 5
e será ignorada quando Valor for 5. A execução
é de uma ou outra.
Também
é comum ser preciso executar mais de uma operação,
quando a verificação for verdadeira. Por exemplo: se Valor
for igual a 5, então some 3 e some 7 à
variável Px. Nestes casos usamos os blocos begin...
end;.
if Valor = 5 then begin
Valor:= Valor + 3;
Px:= Px + 7;
end;
Da
mesma forma, podemos usar o else com
blocos:
if Valor = 5 then begin
Valor:= Valor + 3;
Px:= Px + 7;
end else begin
Valor:= Valor - 2;
Px:= Px - 3;
end;
Note
que o end antes do else
não possui o ";".
É
possível também fazer duas comparações, ou
seja, só somaremos 3 à variável Valor se Valor for
igual a 5 e se Px for igual a 7:
if (Valor = 5) and (Px = 7) then Valor:= Valor + 3;
Nesses casos,
as comparações devem ficar entre parênteses e a instrução
ou bloco a seguir só serão executados se ambas as coparações
forem verdadeiras. Atenção a este detalhe: uma comparação
é verdadeira quando ela respeita o que foi escrito e não
necessariamente representa uma igualdade. Estude as comparações
a seguir:
if (Valor > 5) and (Px > 7) then...
if (Valor = 5) and (Px <> 7) then...
if (Valor < 5) or (Px = 7) then...
if (Valor <> 5) or (Px = 7) then...
|