[7.
Expresiones Lógicas
]
[Tutorial de Fortran]
[9.
Ciclos (Loops)
]
8. La sentencia if
Una parte importante de cualquier lenguaje de programación son las
sentencias condicionales. La sentencia más común en Fortran es
if, la cual tiene varias formas de uso.
La forma más simple de la sentencia if es:
if (expresión lógica) sentencia
Lo anterior tiene que ser escrito en una sola línea. El siguiente ejemplo
obtiene el valor absoluto de x:
if (x .LT. 0) x = -x
Si más de una sentencia necesita ser ejecutada dentro de la sentencia
if, entonces la siguiente sintaxis deberá ser usada:
if (expresión lógica) then
sentencias
endif
La forma más general más general de la sentencia if tiene la siguiente forma:
if (expresión lógica) then
sentencias
elseif (expresión lógica) then
sentencias
:
:
else
sentencias
endif
El flujo de ejecución es de arriba hacia abajo. Las expresiones condicionales
son evaluadas en secuencia hasta que se encuentra una que es verdadera.
Entonces el código asociado es ejecutado y el control salta a la siguiente
sentencia después de la sentenica endif.
Sentencias if anidadas
La sentencia if puede ser anidada varios niveles. Para asegurar la
legibilidad es importante sangrar las sentencias. Se muestra un ejemplo:
if (x .GT. 0) then
if (x .GE. y) then
write(*,*) 'x es positivo y x >= y'
else
write(*,*) 'x es positivo pero, x < y'
endif
elseif (x .LT. 0) then
write(*,*) 'x es negativo'
else
write(*,*) 'x es cero'
endif
Se debe evitar anidar muchos niveles de sentencias if ya que es difícil de seguir.
Ejercicios
- Ejercicio A
- Escribir un segmento de programa en Fortran 77 que asigne a una variable
tipo real t los siguientes valores (suponiendo que x e y han sido declarados previamente):
x+y si x e y son ambos positivos
x-y si x es positivo e y es negativo
y si x es negativo
0 si x o y es cero
[7.
Expresiones Lógicas
]
[Tutorial de Fortran]
[9.
Ciclos (Loops)
]