Sie sind auf Seite 1von 20

INTRODUCCIN A FORTRAN

Formula Translator

1. Organizacin del Programa program name declarations statements stop end

2. Reglas para la posicin en columnas

Col. 1: Blanco (espacio), o un caracter "c" o "*" para comentarios Col. 2-5: Etiqueta de sentencia (opcional) Col. 6: Continuacin de una lnea previa (opcional).
Ocasionalmente cuando una sentencia no cabe en una sola lnea se puede dividir la sentencia en dos o ms lneas, y usar la marca de continuacin en la posicin 6, la cual puede ser un carcter: +, & o $ .

Col. 7-72: Sentencias. Col. 73-80: Nmero de secuencia (opcional, raramente usado actualmente)

3. Declaracin y tipos de Variables 3.1. Nombre de Variables


Los nombres de variables en Fortran consisten de 1 a 6 caracteres escogidos de la a a la z y de los dgitos del 0 al 9. El primer carcter debe ser una letra

3.2. Tipos y declaraciones


integer lista de variables real lista de variables double precision lista de variables complex lista de variables logical lista de variables character lista de variables

lista de variables
Consiste de nombres de variables separadas por comas

Cada variable deber ser declarada exactamente una vez


Si una variable no esta declarada, Fortran usa un conjunto implcito de reglas para establecer el tipo de variable:
Todas las variables que comiencen con el conjunto de letras i-n son enteros y el resto tipo real. No se recomienda su uso ya que la probabilidad de errores en el programa crece exponencialmente si no se declaran las variables.

4. Operadores en Fortran
4.1. Operadores Aritmticos

Operador + * / **

Operacin Suma Resta Multiplicacin Divisin Exponenciaci n

Ejemplo X=Y+2 X=Y-2 X=3*Y Y=X/3 Y=X**4

4.2. Operadores Lgicas


Operador .GT. .GE. .EQ. .NE. .LT. .LE. .AND. .OR. .NOT. Operacin Mayor que Mayor o igual que Igual que Diferente que Menor que Menor o igual que Y O No Ejemplo X .GT. Y X .GE: Y X .EQ. Y X .NE. Y X .LT. Y X. LE. Y X .GT. Y .AND. J .LT.I X .GT. Y .OR. J .LT. I X .GT. Y .NOT. J .LT. I

5. Sentencias en Fortran 5.1 Stop Detiene la ejecucin del programa en un momento dado 5.2 End
Se utiliza para finalizar un programa

6.- Lectura y Escritura Bsica

read (nm_unidad, nm_formato) lista_de_variables write(nm_unidad, nm_formato) lista_de_variables


read (*,*) lista_de_variables

write(*,*) lista_de_variables

7.- Funciones

abs min max sqrt sin cos tan atan exp log

valor absoluto valor mnimo valor mximo raz cuadrada seno coseno tangente arco tangente exponencial (natural) logaritmo (natural)

8. Proceso de Compilacin
Archivo.f Archivo.o Archivo.exe

gfortran -c archivo.f
gfortran -o archivo.exe archivo.o

./archivo.exe

5. Sentencias en Fortran
5.3.1 If lgico
La forma ms simple de la sentencia if es:

if (expresin lgica) sentencia Lo anterior tiene que ser escrito en una sola lnea.
if (x .LT. 0) x = -x

5.1.3 If aritmtico
El if aritmtico tiene la siguiente forma:
if (expresin lgica) k-,k0,k+
Este comando transfiere el control a una de las tres lneas dependiendo del valor de la expresin lgica Por ejemplo:

If (x-a)14,13,17
Si (x-a) es negativo transfiere la ejecucin del programa a la lnea 14, a la lnea 13 (x-a) es igual a cero, y a la 17 en caso de que (x-a) sea mayor que cero.

5.1.4 Bloque If
Si ms de una sentencia necesita ser ejecutada dentro de la sentencia if, entonces la siguiente sintaxis deber ser usada

if (expresin lgica) then sentencias endif

La forma ms general de la sentencia if es:

if (expresin lgica) then sentencias else sentencias endif

Tambin existe otra opcin con un comando elseif then:

if (expresin lgica) then sentencias elseif (expresin lgica) then sentencias else sentencias endif

if (expresin lgica) then sentencias endif

if (expresin lgica) then sentencias elseif (expresin lgica) then sentencias

if (expresin lgica) then sentencias else sentencias endif

else sentencias

endif

5.4. Ciclos
Para repetir la ejecucin de sentencias se usan los ciclos. Fortran 77 tiene solamente una construccin de ciclo, conocida como el ciclo-do. Otros ciclos pueden ser simulados usando las sentencias if y goto

La forma general del ciclo do es la siguiente:

etiqiqueta

do etiqueta var = expr1, expr2, expr3 sentencias continue

var, es la variable del ciclo, conocida con frecuencia como el ndice del ciclo, el cual deber ser del tipo integer. expr1 indica el valor inicial de var, expr2 es el valor hasta el que llegar el ndice, y expr3 es el incremento (step).

Notas
El programador es responsable de asignar un nmero nico a cada etiqueta en cada programa. Recordar que las posiciones de las columnas 2-5 son reservadas para sentencias de etiquetas. El valor numrico de las sentencias de etiqueta no tiene ningn significado, por lo que cualquier valor entero puede ser usado. La variable en la sentencia do es incrementada en 1 por default. Sin embargo, se puede usar cualquier otro entero para el paso o incremento.

El siguiente ejemplo muestra los nmeros en forma creciente entre el 1 y 10

30

Program ciclo_do integer i do 30 i=1,10,1 write(*,*) 'i=',i continue stop end

El siguiente ejemplo calcula la suma de los enteros desde el i hasta N:

10

Program Do integer i,N,suma write(*,*)'introduzca el valor de N' read(*,*)N suma=0.0 do 10 i=1,N suma=suma+i continue write(*,*)'suma=',suma stop end

El siguiente ejemplo muestra los nmeros en forma decreciente entre el 1 y 10

30

Program suma_do integer i do 30 i=10,1,-1 write(*,*) 'i=',i continue stop end

Das könnte Ihnen auch gefallen