IF Then Else
Dado que una condici�n produce un valor verdadero o falso, se necesita una sentencia
de control que ejecute determinada sentencia si la condici�n es verdadera , y otra si
es falsa. En Pascal esta alternativa se realiza con la sentencia IF-THEN-ELSE. A
continuaci�n se describe el diagrama de flujo y el formato de la sentencia.

Formatos de la sentencia IF:
if
then
else
if then
else
En este caso, primero se eval�a condici�n y si el resultado arroja un valor de
verdad(verdadero), se ejecuta instrucci�n_1 ; en caso contrario se ejecuta
instrucci�n_2.
La condici�n es una expresi�n Booleana que puede ser verdadera o falsa (true o false).
Una expresi�n Booleana se forma comparando valores de las expresiones utilizando
operadores de relaci�n (relacionales) o comparaci�n y los operadores l�gicos vistos
anteriormente.
Ejemplos :
Omisi�n de cl�usula else :
Program Edades;
Uses Crt;
Var
edad : integer ;
begin
WriteLn('Escribe tu edad : ');
ReadLn(edad);
if edad >= 18 then
WriteLn('!Eres Mayor de edad !');
WriteLn('Esta instrucci�n siempre se ejecuta');
ReadKey
end.
Nota: Antes de la palabra end no se debe anteponer un punto y coma
como se muestra en este ejemplo. El hacerlo generaria una sentencia
vacia (sentencia que no hace nada).
Utilizaci�n de cl�usula else :
Program Edades;
Uses Crt;
Var
edad : integer ;
begin
WriteLn('Escribe tu edad : ') ;
ReadLn(edad) ;
if edad >= 18 then
WriteLn('!Eres Mayor de edad !')
else
WriteLn('!Eres Menor de edad !');
WriteLn('Esta instrucci�n siempre se ejecuta');
ReadKey
end.
Nota: Antes de la cl�usula else no se antepone un punto y coma, si lo hubiese el
compilador producir� un mensaje de error, puesto que no existe ninguna sentencia en
Pascal que comience con else. La parte else es opcional, pero la ejecuci�n siempre
continuar� en otra instrucci�n.
En lugar de utilizar instrucciones simples, se pueden usar bloques de instrucciones,
como acontinuaci�n se muestra :
Program Edades;
Uses Crt;
Var
edad : integer ;
begin
WriteLn('Escribe tu edad : ') ;
ReadLn(edad) ;
if edad >= 18 then
begin
WriteLn('!Eres Mayor de edad !');
WriteLn('!Ya puedes Votar!')
end
else
begin
WriteLn('!Eres Menor de edad !');
WriteLn('!A�n no puedes votar!')
end;
WriteLn('Esta instrucci�n siempre se ejecuta');
ReadKey
end.
Sentencia IF anidadas :
Program NumMayor;
Uses Crt;
Var
n1,n2,n3,mayor : integer ;
begin
WriteLn('Escribe tres numeros enteros : ');
ReadLn(n1,n2,n3);
if n1>n2 then
if n1>n3 then
mayor:=n1
else
mayor:=n3
else
if n2>n3 then
mayor:=n2
else
mayor:=n3;
WriteLn('El mayor es ',mayor);
ReadKey
end.
|