Sentencia IF
El lenguaje FORTRAN ejecuta las sentencias en el orden en el que estn escritas. Sin embargo, hay varias formas de
romper este orden, bien continuando la ejecucin en alguna sentencia posterior o anterior, o bien eligiendo entre
ejecutar un grupo de sentencias u otro, segn el valor que tome una o varias variables.
IF
Comenzamos analizando esta segunda alternativa, la cual es permitida utilizando la sentencia IF combinada con la
sentencia ELSE. Tiene la forma siguiente
IF (expresin lgica) THEN
(bloque 1 de sentencias)
ELSE
(bloque 2 de sentencias)
END IF
Si la expresin lgica es verdadera, ejecuta el bloque de sentencias 1 y si es falsa el bloque de sentencias 2
Cuando la decisin a tomar radica entre ejecutar un bloque de sentencias o no, no es necesario la sentencia ELSE,
con lo que el conjunto toma la forma:
IF (expresin lgica) THEN
(bloque de sentencias)
END IF
De forma que si la expresin lgica es verdadera ejecuta el bloque de sentencias y si es falsa no.
Las expresiones lgicas ms usadas son tipo comparativo, entre variables y combinaciones de las mismas.
As para indicar A<B expresamos
A.LT.B indicando LT less tan (menor que)
Asimismo se tiene
LE
(menor o igual)
EQ
(equal)
(igual)
GT
(greater than)
(mayor que)
GE
(greater or equal)
(mayor o igual)
NE
(non equal)
(distinto)
AND
y lgico
OR
o lgico
NOT
negacin lgica
El saludo Hola se imprime siempre, pero el resto depende de n. (La funcin mod sirve para calcular el resto de
la divisin entera).
2. Elabore un programa que muestre un mensaje de acuerdo a la nota obtenida por un alumno en una
determinada asignatura. Si la nota es mayor a 12, el programa debe ser capaz de emitir un mensaje que
felicite al alumno, en caso contrario el programa debe emitir un mensaje que le indique que debe
esforzarse para mejorar.
3. Elabore un programa que encuentre el valor mnimo entre los valores reales a,b,c y guarde el resultado
en la variable Result
CICLOS EN FORTRAN 90
Construccin de repeticin
Esquema repetitivo tipo 1 (DO)
Para cada valor del ndice IND en un rango fijado, ejecutar el conjunto de instrucciones 1
DO
instrucciones
END DO
Lgicamente, en un programa que tenga sentido, el conjunto de instrucciones en cuestin deber contener
algn mecanismo que interrumpa en algn momento la repeticin, bien deteniendo el programa (STOP), bien
enviando el control de la ejecucin a otro punto del mismo. Una forma de hacerlo es utilizar la instruccin EXIT
que finaliza la ejecucin del bucle y pasa el control a la instruccin siguiente al END DO
EJEMPLO
EJERCICIO 1
Podemos obtener la raz cuadrada de cualquier nmero x usando operaciones aritmticas tales como suma,
resta y divisin, basados en el mtodo de Newton (proceso iterativo). Para ello realizamos un algoritmo de
programa para obtener la raz cuadrada para A=2.
Reemplace x por
(+ )
2
EJERCICIO 2
Utilizando los comandos IF y DO, elabore un programa que calcule el factorial de un nmero.
EJERCICIO 3
Utilizando el comando DO, encuentre la sumatoria de los 10 primeros trminos de la siguiente sucesin:
=1 ( + 1).
El DO indexado
Permite escribir un esquema de tipo 2, en el que una variable, denominada ndice del DO, va tomando una serie
de valores en un rango prefijado, y para cada nuevo valor se ejecuta un determinado conjunto de instrucciones.
Su forma general es:
etapa anterior hasta que, en alguna iteracin, se termina la ejecucin del DO.
4. Cuando se termina la ejecucin del DO, el programa contina por la instruccin siguiente al
END DO.
Algunas observaciones sobre esta construccin:
a) El ndice del DO, ndice, debe ser una variable entera. Su valor puede ser utilizado dentro del
conjunto de instrucciones que forman el cuerpo del DO, pero no debe ser modificado.
b) valor-inicial, valor-final y incremento pueden ser constantes o variables enteras o expresiones
que produzcan valores enteros. Sus valores son determinados al comienzo del DO, es decir,
antes de que ninguna instruccin sea ejecutada. Cualquier modificacin dentro del cuerpo del
DO no tendra ninguna consecuencia sobre el mbito del DO.
c) Si, inicialmente, valor-final es mayor que valor-inicial (recprocamente, menor que, si
solamente:
DO ndice = valor-inicial, valor final
e) Cuando se termina la ejecucin del DO, la variable-ndice conserva el ltimo valor que tom
(tras el ltimo incremento), que puede no ser el ltimo valor para el que se ejecut el bucle,
como puede observarse en el ejemplo siguiente.
EJEMPLO
Donde iet es un nmero de etiqueta, es decir: un nmero del 1 al 99999 que se pone delante de
determinadas instrucciones, en las columnas 1-5, para identificarlas. El programa anterior se
escribirlas, con este formato:
EJERCICIO 1
Escriba un programa que muestre los cuadrados de todos los nmeros impares comprendidos entre 1 y 25
EJERCICIO 2
Elabore un programa que realice la siguiente sucesin 1 +
1
32
1
52
1
72
+ +
1
,
(+1)2
par que usted ingresara por teclado. Verifique su programa para el valor de n = 15.
donde n es un numero
El DO WHILE (mientras)
Los bucles se pueden anidar (crear un bucle dentro de otro). En el ejemplo siguiente el ndice interno
depende del externo:
EJERCICIO 1