Professional Documents
Culture Documents
Programacin en Fortran 90
CONTENIDO
Programacin en Fortran 90
REFERENCIA
CONTENIDO
(30%)
(70%)
Programacin en Fortran 90
Temario
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE CONTROL
LECTURA / ESCRITURA CON FORMATO
LECTURA / ESCRITURA DE UN ARCHIVO
ARREGLOS
PROGRAMACIN ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Contenido
INTRODUCCIN
ELEMENTOS BSICOS
Tipo de datos
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
Diagramas de f
ujo
Pseudocdigos
Instruccin FORMAT
Instruccin IF
Constantes y variables
Ciclos condicionados
Ciclos Iterativos
COMPILACIN
Descriptor /
Procedimientos
Procedimientos externos
Instruccin Open
Procedimientos internos
Mdulos
Interfaces
Procediimientos recursiv
os
REFERENCIA
CONTENIDO
Vectores
Matrices
Ciclos DO implictos
Instruccin CLOSE
Arreglos Allocatable
Programacin en Fortran 90
Introduccin
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
FORTRAN (FORmula
lenguaje de alto nivel
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Tipos de datos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ABCDEFGHIJKLMNOPQRSTUVWXYZ
ESTRUCTURAS DE
CONTROL
abcdefghijklmnopqrstuvwxyz
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
Letras:
INTEGER
REAL
PROGRAMACIN
ESTRUCTURADA
CHARACTER
COMPILACIN
LOGICAL
intervalo:
-2147483647
avlido
2147483647
Real
vlido
Real
Dgitos:
Vlido
Nono
vlido
10.
0 1 2 3 41,000,000.
56789
.TRUE.
TRUE
-999.9
111E3
Enteros vlidos
Enteros no vlidos
123.45E20
-12.0E1.5
Caractres especiales:
.FALSE.
.FALSE
0
1,000,000
0.12E+1
-999
-100.
= + - * / ( ) , . ' : ! " % & ; < > ? $ _ espacio
123456789
+17
Vlido
No vlido
Esta es una prueba Esta es una prueba
REFERENCIA
CONTENIDO
Programacin en Fortran 90
FORMA FIJA
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
FORMA LIBRE
COMPILACIN
1-132
7-72
7-72
REFERENCIA
CONTENIDO
Programacin en Fortran 90
DECLARACIN
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
EJECUCIN
TERMINACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Seccin de declaracin
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Seccin de Ejecucin
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
La seccin de ejecucin consiste de una o ms instrucciones ejecutables que describe las acciones
que va a realizar el programa.
WRITE (*,*)
LECTURA / ESCRITURA
CON FORMATO
READ (*,*)
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Seccin de Terminacin
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Constantes y variables
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
Nombres validos
Tiempo
Distancia
Z234545654
Presin_vapor
REFERENCIA
CONTENIDO
Nombres no vlidos
este_nombre_es_muy_pero_muy_largo
3_dias
a$
Programacin en Fortran 90
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
DEFAULT
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
EXPLCITO
COMPILACIN
IMPLICIT NONE
EJEMPLO
REFERENCIA
CONTENIDO
Programacin en Fortran 90
PROGRAM prueba_1
REAL::tiempo=10.0
WRITE(*,*)tiempo= , time
END PROGRAM
COMPILACIN
REFERENCIA
CONTENIDO
PROGRAM prueba_1
IMPLICIT NONE
REAL::tiempo=10.0
WRITE(*,*)tiempo= , time
END PROGRAM
Programacin en Fortran 90
OPERADOR
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
OPERADORestilo FUNCINEstilo
Nuevo
+ sumaanterior
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
OPERADORES ARITMTICOS
OPERADORES LGICOS
PROGRAMACIN
ESTRUCTURADA
OPERADORES DE COMPARACIN
COMPILACIN
A.AND.B
RESULTADO .TRUE. SI A Y B
O
RESULTADO .TRUE. SI
* multiplicacin
CUALQUIERA A O B ES
VERDADERA
.NE. / divisin /=
diferente
Variable_name=expression
.A.EQV.B
EQUIVALENCIA
RESULTADO .TRUE. SI A=B
.LT. ** Exponenciacin
<
menor que
A.OR.B
.LE.
.NOT.B
CONTENIDO
DEFINICIN
Los clculos
son realizados en
SONFORTRAN
VERDADERAS
- Resta
con
.EQ.instrucciones de
== asignacin: igual
.A.NEQV.B
REFERENCIA
SIGNIFICADO
NO
EQUIVALEN
CIA
<=
NO
.GT.
>
.GE.
>=
menor o
igual que
mayor que
mayor o
igual que
Programacin en Fortran 90
Jerarqua de operaciones
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Funciones Intrnsecas
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
REAL, PARAMETER::grados_a_radianes=3.141593/180.
y= SIN (alfa*grados_a_radianes)
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Funciones Intrnsecas
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
teclado
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
INSTRUCCIN READ(*.*)
Ejemplo:
Formato libre
PROGRAM ejemplo_datos_entrada
INTEGER::i,j
REAL::a
CHARACTER(len=12)::chars
READ(*,*)i,j,a,chars
END PROGRAM
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
INSTRUCCIN READ(*,*)
Ejemplo:
PROGRAM ejemplo_datos_entrada
INTEGER::i,j,k,l; READ(*,*)i,j; READ(*,*)k,l
END PROGRAM
Si los datos de entrada del programa son
1,2,3,4
5,6,7,8
Los valores que leer el programa son
i=1,j=2,k=5, j=6
Se pueden escribir varias instrucciones en una sola lnea separadas por ;
REFERENCIA
CONTENIDO
Programacin en Fortran 90
INSTRUCCIN WRITE(*.*)
Ejemplo:
PROGRAM ejemplo_datos_salida
INTEGER::ix
LOGICAL::prueba
REAL::beta
Ix=1
Prueba=.TRUE.
Beta=3.141593
WRITE(*,*) ix =
, ix
WRITE(*,*) beta =
, beta
WRITE(*,*) coseno beta =
, COS(beta)
WRITE(*,*) prueba =
, prueba
WRITE(*,*) REAL(ix), NINT (beta)
END PROGRAM
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Inicializacin de variables
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
PROGRAM inicializacion
LECTURA / ESCRITURA
CON FORMATO
INTEGER::i
LECTURA / ESCRITURA
DE UN ARCHIVO
WRITE(*,*)i
ARREGLOS
END PROGRAM
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Inicializacin de variables
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
PROGRAM inicializacion
PROGRAM inicializacion
INTEGER::i
INTEGER::i
i= 1
READ(*,*) i
WRITE(*,*)i
WRITE(*,*)i
END PROGRAM
END PROGRAM
COMPILACIN
PROGRAM inicializacion
INTEGER::i=1
WRITE(*,*)i
END PROGRAM
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Diagrama de flujo
INTRODUCCIN
ELEMENTOS BSICOS
inicio
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
Entender el
problema que se
trata de resolver
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
Definir entradas y
salidas
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
Diseo del
algoritmo
COMPILACIN
Convertir el
algoritmo en
instrucciones F90
Probar el
programa
Fin
REFERENCIA
CONTENIDO
Descomposicin
Refinamiento
Programacin en Fortran 90
Diagramas de flujo
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Pseudocdigo
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
Ejemplo:
El usuario introduce un valor de temperatura en grados
Fahrenheit
Leer temperatura en grados Fahrenheit (temp_F)
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
Temp_K en kelvin
Escribir temperatura en Kelvin
CONTENIDO
(5./9.)*(temp_F-32)+273.15
Programacin en Fortran 90
Estructuras de control
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
Las estructuras de control controlan el orden en que se van a ejecutar las instrucciones
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ESTRUCTURAS DE DECISIN
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
ESTRUCTURAS DE REPETICIN
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Estructuras de decisin
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
INSTRUCCIN IF
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Instruccin IF
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
ESTRUCTURA
Expresin
lgica
REAL::a=3,b=2
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
.FALSE.
PROGRAM
Intruccin
1 prueba_3
Instruccin 2
DIAGRAMA DE FLUJO
ARREGLOS
EJEMPLO
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
IF (a>b) THEN
WRITE(*,*)
a
.TRUE.
.
END IF
Instruccin
1
END PROGRAM
Instruccin
2
.
END IF
Cuando solo se va a ejecutar una sola
instruccin se puede escribir:
IF (exp_log) instruccin
REGRESAR
REFERENCIA
BLOQUE
CONTENIDO
PROGRAM prueba_3
REAL::a=3,b=2
IF (a>b) WRITE(*,*) a
END PROGRAM
Programacin en Fortran 90
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
ESTRUCTURA
.FALSE.
LECTURA / ESCRITURA
DE UN ARCHIVO
Expresin lgicaELSE
1
DIAGRAMA DE FLUJO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
Expresinlogica
lgica 2 2) THEN
IF (expresin
Instruccin 1
Instruccin 2
.TRUE.
.TRUE.
EJEMPLO
BLOQUE 1
ELSE
Instruccin 1
Instruccin 2
END IF
REGRESAR
REFERENCIA
.FALSE.
CONTENIDO
BLOQUE 2
BLOQUE 3
Programacin en Fortran 90
PROGRAM roots
! Purpose:
! This program solves for the roots of a quadratic equation
! Of the form a*x**2 + b*x + c = 0.
IMPLICIT NONE
! Declare the variables used in this program
REAL :: a
REAL :: b
REAL :: c
REAL :: discriminant
REAL :: imag_part
REAL :: real_part
REAL :: x1
REAL :: x2
! Prompt the user for the coefficients of the equation
WRITE (*,*) 'This program solves for the roots of a quadratic '
WRITE (*,*) 'equation of the form A * X**2 + B * X + C = 0. '
WRITE (*,*) 'Enter the coefficients A, B, and C: '
READ (*,*) a, b, c
! Echo back coefficients
WRITE (*,*) 'The coefficients A, B, and C are: ', a, b, c
! Calculate discriminant
discriminant = b**2 - 4. * a * c
REGRESAR
REFERENCIA
CONTENIDO
! Solve for the roots, depending upon the value of the discriminant
IF ( discriminant > 0. ) THEN ! there are two real roots, so...
x1 = ( -b + sqrt(discriminant) ) / ( 2. * a )
x2 = ( -b - sqrt(discriminant) ) / ( 2. * a )
WRITE (*,*) 'This equation has two real roots:'
WRITE (*,*) 'X1 = ', x1
WRITE (*,*) 'X2 = ', x2
Programacin en Fortran 90
INTEGER,LOGICAL,CHARACTER
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Intruccin 1
LECTURA / ESCRITURA
DE UN ARCHIVO
Instruccin 2
.
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
.
.
END IF name
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Estructuras de Repeticin
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
CICLOS CONDICIONADOS
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
CICLOS ITERATIVOS
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos condicionados
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
Instrucciones
Instrucciones
..
LECTURA / ESCRITURA
CON FORMATO
ESTRUCTURA
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
DIAGRAMA DE FLUJO
DO
Instrucciones
COMPILACIN
EJEMPLO
.FALSE.
Instrucciones
Instrucciones
..
Instrucciones
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos condicionados
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
PROGRAM stats_1
!
! Purpose:
! To calculate mean and the standard deviation of an input
! data set containing an arbitrary number of input values.
IMPLICIT NONE
! Declare and initialize the variables used in this program.
INTEGER :: n =0
! The number of input samples.
REAL :: std_dev = 0. ! The standard deviation of the input
samples.
REAL :: sum_x = 0. ! The sum of the input values.
REAL :: sum_x2 = 0. ! The sum of the squares of the input
values.
REAL :: x = 0.
! An input data value.
REAL :: x_bar
! The average of the input samples.
! While Loop to read input values.
DO
! Read in next value
WRITE (*,*) 'Enter number: '
READ (*,*) x
WRITE (*,*) 'The number is ', x
! Test for loop exit
IF ( x < 0 ) EXIT
! Otherwise, accumulate sums.
n
=n+1
sum_x = sum_x + x
sum_x2 = sum_x2 + x**2
END DO
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos Iterativos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
CICLOS ANIDADOS
Instruccin 1
Instruccin 2
Instruccin n
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
EJEMPLO
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
END DO
Programacin en Fortran 90
Ciclos Iterativos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
PROGRAM stats_3
!
! Purpose:
! To calculate mean and the standard deviation of an input
! data set, where each input value can be positive, negative,
! or zero.
IMPLICIT NONE
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos Anidados
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
PROGRAM ciclos
Integer::i,j,producto
LECTURA / ESCRITURA
CON FORMATO
do i=1,3
LECTURA / ESCRITURA
DE UN ARCHIVO
do j=1,3
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
producto=i*j
write (*,*) i,*,j,=,producto
End do
End do
COMPILACIN
End program
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
ESTRUCTURAS DE
CONTROL
Instruccin 1
Instruccin 2
Instruccin n
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
END DO name
COMPILACIN
Name: DO
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
EXIT
PROGRAM
PROGRAM
INTEGER::I
INTEGER::I
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
CYCLE
DO I=1,5
DO I=1,5
IF (I==3) EXIT
IF (I==3) CYCLE
WRITE (*,*) I
WRITE (*,*) I
END DO
END DO
END PROGRAM
END PROGRAM
La
cuando
ejecutada
control al inicio
del ciclo
Lainstruccin
instruccinCYCLE
EXIT detiene
la es
ejecucin
del transfiere
bloque deelinstrucciones
dentro
de
un ciclo y el control es transferido a la primera instruccin despus del ciclo
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Instruccin Format
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
Ejemplo:
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Descriptores de Formato
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Descriptores de Formato
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
Smbolo
ESTRUCTURAS DE
CONTROL
significado
Numero de columna
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
Nmero de espacios
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Descriptores de Formato......ejemplos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
INTEGER
ESTRUCTURAS DE
CONTROL
REAL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
EXPONENCIALES
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
CHARACTER
COMPILACIN
0 .
-1 2
*- * 0 *. *7 *7 *7
REFERENCIA
CONTENIDO
1 2 3 5 E + 0 7
0 .
1 0
0 E
- 0
- 1 2 345
0 00 .0 1
E +2 13 2 *1 *2* 3* .* 4
* *5 *6 * * *
Programacin en Fortran 90
Descriptores X y T
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
nX
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
EJEMPLO
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Descriptores X y T
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
R u t h
W i l s o n
e s
REFERENCIA
CONTENIDO
t u d i a n t e
2 7
Programacin en Fortran 90
Descriptores de Formato
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
330 FORMAT(1X,2(I6,2(F10.2,A)))
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Descriptor /
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
integer::indice=10
REAL::tiempo=330,profundidad=330., amplitud= 850.65, fase=30.
WRITE (*,100)indice,tiempo, profundidad, amplitud, fase
100 FORMAT ('1', T20,'Resultado de la prueba numero ',I3,///,&
1X,'Tiempo
=', F6.0/,&
1X,'Profundidad =', F7.1, ' metros',/&
1X,'Amplitud
=', F8.2/,&
1X,'Fase
=', F7.1)
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Instruccin OPEN
INTRODUCCIN
ELEMENTOS BSICOS
OPEN (open_list)
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
Nmero de unidad
Nombre de archivo
Informacin sobre como abrir al archivo
PROGRAMACIN
ESTRUCTURADA
UNIT
COMPILACIN
FILE
STATUS
ACTION
IOSTAT
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Apertura de archivos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ESCRITURA
LECTURA
EJEMPLO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
Integer::i
COMPILACIN
OPEN(UNIT=8,FILE=ejemplo.dat,STATUS=OLD,ACTION=READ, IOSTAT=i)
OPEN(UNIT=unidad,FILE=datos_salida.dat,STATUS=NEW,ACTION=WRITE, IOSTAT=i)
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Instruccin CLOSE
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
CLOSE(close_list)
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Arreglos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
VECTORES
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
MATRICES
A(1)
OPERACIONES
CON
ARREGLOS
Memoria
de la
computadora
A(2)
A(3)
Arreglo A
A(4)
ARREGLOS
ALLOCATABLE
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Vectores
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
Rengln 1
ESTRUCTURAS DE
CONTROL
Rengln 2
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
A(renglones)
Rengln 3
DECLARACIN
Rengln 4
INICIALIZACIN
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
ARREGLOS
CONSTANTES
DO
IMPLCITOS
EJEMPLOS
A=(/0,0,0,0,0,0,0,0,0,0/)
Rank del arreglo
Constructores de arreglos
Rank = 1, extent=16
A=0;
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DO implcitos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
Ciclos anidados:
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
Inicializacin:
integer, dimension(5)::arreglo1=(/(i,i=1,5)/)
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DO.ejemplos
Vectores
implcitos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
PROGRAM squares
PROGRAM square_roots
IMPLICIT NONE
IMPLICIT NONE
INTEGER :: i
INTEGER, DIMENSION(10) :: number, square
INTEGER :: i
REAL, DIMENSION(10) :: value = (/ (i, i=1,10) /)
REAL, DIMENSION(10) :: square_root
END PROGRAM
END PROGRAM
CONTENIDO
Programacin en Fortran 90
Ciclos DO.ejemplos
Vectores
implcitos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
PROGRAM square_and_cube_roots
!
! Purpose:
! To calculate a table of numbers, square roots, and cube roots
! using an implied DO loop to output the table.
!
! Record of revisions:
!
Date
Programmer
Description of change
!
====
==========
=====================
! 08/22/95 S. J. Chapman
Original code
!
IMPLICIT NONE
! List of parameters:
INTEGER, PARAMETER :: max_size = 10
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
! List of variables:
INTEGER :: j
! Loop index
REAL, DIMENSION(max_size) :: value
! Array of numbers
REAL, DIMENSION(max_size) :: square_root ! Array of square roots
REAL, DIMENSION(max_size) :: cube_root ! Array of cube roots
! Calculate the square roots & cube roots of the numbers.
DO j = 1, max_size
value(j) = real(j)
! Write out each number, its square root, and its cube root.
square_root(j) = sqrt(value(j))
WRITE (*,100)
cube_root(j) = value(j)**(1./3.)
100 FORMAT ('0',20X,'Table of Square and Cube Roots',/, &
END DO
4X,' Number Square Root Cube Root', &
3X,' Number Square Root Cube Root',/, &
4X,' ====== =========== =========', &
3X,' ====== =========== =========')
WRITE (*,110) (value(j), square_root(j), cube_root(j), j = 1, max_size)
REGRESAR
110 FORMAT (2(4X,F6.0,9X,F6.4,6X,F6.4))
END PROGRAM
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DO implcitos
Matrices
INTRODUCCIN
ELEMENTOS BSICOS
Matriz
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
Rengln 1
Rengln 2
B(renglones, columnas)
Rengln 3
Rengln 4
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
Col1
COMPILACIN
DECLARACIN
INICIALIZACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DO implcitos
Declaracin
de arreglos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DO implcitos
Inicializacin
de matrices
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
INSTRUCCIONES
DE
ASIGNACIN
INSTRUCCIONES
DE
DECLARACIN
Integer:: i,DO
j J=1,3
Matriz=RESHAPE (arreglo1,arreglo2)
SAT (I,J)=J
INSTRUCCIONES
DE
LECTURA
OPEN INTEGER,
END DO DIMENSION (4,3)::SAT(4,3)=&
(7,FILE=DATOS_INICIO.DAT,STATUS=OLD,ACTION=read)
RESHAPE((/1,1,1,1,2,2,2,2,3,3,3,3/),(/4,3/)
END DO
READ(7,*)((SAT(I,J),J=1,3),I=1,4)
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DOcon
Arreglos
implcitos
asignacin dinmica de memoria
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ALLOCATE (a(100,100))
ARREGLOS
DEALLOCATE(a)
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DO implcitos
Operaciones
con arreglos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
OPERACIONES EN
TODOS LOS ELEMENTOS
FUNCIONES INTRNSECAS
(ELEMENTALES)
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
FUNCIONES INTRNSECAS
(INDAGACIN)
FUNCIONES
TRANSFORMACIONALES
depende de las
Funciones intrnsecas:
Escalares
con arreglos:
ABS,SIN,COS,TAN,EXP,LOG,LOG10,MOD,SQRT
REGRESAR
EJEMPLO
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DO implcitos
Operaciones
con arreglos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
PROGRAM check_array
!
! Purpose:
! To illustrate the use of array inquiry functions.
!
!
IMPLICIT NONE
! List of variables:
REAL,DIMENSION(-5:5,0:3) :: a = 0. ! Array to examine
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
',7I6)
',I6)
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DO implcitos
Secciones
de arreglos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DO implcitos
Secciones
de arreglos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Ciclos DO implcitos
Secciones
de arreglos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Procedimientos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
PROCEDIMIENTOS EXTERNOS
LECTURA / ESCRITURA
DE UN ARCHIVO
PROCEDIMIENTOS INTERNOS
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
MDULOS
COMPILACIN
INTERFACES
PROCEDIMIENTOS RECURSIVOS
REFERENCIA
CONTENIDO
Programacin en Fortran 90
SUBRUTINAS
LECTURA / ESCRITURA
DE UN ARCHIVO
FUNCIONES
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
ATRIBUTO INTENT
COMPILACIN
SAVE
ARREGLOS EN FUNCIONES
Y SUBRUTINAS
REGRESAR
EJEMPLO FUNCIN
REFERENCIA
CONTENIDO
EJEMPLO SUBRUTINA
Programacin en Fortran 90
Intent
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
INTENT (IN)
El argumento es dato de entrada
INTENT (OUT)
El argumento es dato de salida
INTENT (INOUT)
El argumento acta como entrada y salida
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Subrutinas
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
PROGRAMACIN
ESTRUCTURADA
PROGRAM test_hypotenuse
IMPLICIT NONE
! Declare variables:
REAL :: s1
! Length of side 1
REAL :: s2
! Length of side 2
REAL :: hypot
! Hypotenuse
.
WRITE (*,*) 'Program to test subroutine
WRITE (*,*) 'Enter the length of side 1: '
READ (*,*) s1
WRITE (*,*) 'Enter the length of side 2: '
READ (*,*) s2
COMPILACIN
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
REGRESAR
CONTENIDO
IMPLICIT NONE
! Declare calling parameters:
REAL, INTENT(IN) :: side_1
! Length of side 1.
REAL, INTENT(IN) :: side_2
! Length of side 2.
REAL, INTENT(OUT) :: hypotenuse ! Length of
hypotenuse
! Declare local variables:
REAL :: temp
! Temporary variable
! Calculate hypotenuse
temp = side_1**2 + side_2**2
hypotenuse = SQRT ( temp )
END SUBROUTINE
END PROGRAM
REFERENCIA
Programacin en Fortran 90
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS AUTOMTICOS
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
ARREGLOS ALLOCATABLE
COMPILACIN
Subroutine proceso(x,y,n,m)
Subroutine
proceso(x,y)
Integer, intent
(in)::x,y
Real, intent (in), dimension(n,m)::d1
Real,dimension(:,:),allocatable::temp
Real, intent (out), dimension(n,m)::d2
Allocate
(temp(1000,1000))
Real, dimension(n,m)::temp
Temp=0.
End subroutine
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
SAVE
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ATRIBUTO SAVE
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
INSTRUCCIN SAVE
COMPILACIN
La Instruccin
ejecutable
SAVE
todos
El atributo no
SAVE
garantiza
que conserva
las variables
y los
valores
de laslocales
variables
locales, su valor.
formato
es:
arreglos
conserven
Este
atributo aparece en la declaracin del tipo de
SAVE::var1,
var2
dato.
o
SAVE
No debe usarse el atributo SAVE en arreglos automticos, ni en datos declarados
con el atributo PARAMETER
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Funciones
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
PROGRAM test_quadf
IMPLICIT NONE
REAL :: quadf
REAL :: a, b, c, x
REGRESAR
REFERENCIA
CONTENIDO
IMPLICIT NONE
! Declare calling arguments.
REAL, INTENT(IN) :: x
REAL, INTENT(IN) :: a
REAL, INTENT(IN) :: b
REAL, INTENT(IN) :: c
! Evaluate expression.
quadf = a * x**2 + b * x + c
END FUNCTION
Programacin en Fortran 90
Procedimientos internos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
Tienen la misma forma que los procedimientos externos, excepto que la palabra
SUBROUTINE/FUNCTION debe estar presente en la instruccin END
COMPILACIN
EJEMPLO
REFERENCIA
CONTENIDO
Programacin en Fortran 90
program prueba
INTEGER:: i=3,j=25
write (*,*) 'La divisison es', ratio(i,j)
LECTURA / ESCRITURA
CON FORMATO
end program
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
program prueba
INTEGER:: i=3,j=25
write (*,*) 'La divisison es', ratio(i,j)
contains
REAL function ratio (x,y)
REAl,intent (IN)::x,y
ratio=x/y
end function
end program
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Mdulos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
MDULOS
PARA DECLARACIN
DE DATOS
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
MDULOS
CON
PROCEDIMIENTOS
REGRESAR
REFERENCIA
CONTENIDO
Inicializar datos
Compartir datos en ejecucin (Instruccin USE
name_modulo ) en otras unidades de programas
Incluir subrutinas y funciones
Programacin en Fortran 90
Mdulos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
EJEMPLO
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Mdulos
INTRODUCCIN
ELEMENTOS BSICOS
PROGRAM test_module
!
! Purpose:
! To illustrate sharing data via a module.
!
USE test
! Make data in module "test" visible
IMPLICIT NONE
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
! Call subroutine
END PROGRAM
SUBROUTINE sub1
!
! Purpose:
! To illustrate sharing data via a module.
!
USE test
! Make data in module "test" visible
IMPLICIT NONE
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
MODULE test
! Purpose:
COMPILACIN
IMPLICIT NONE
SAVE
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Mdulos
INTRODUCCIN
ELEMENTOS BSICOS
Son mdulos que contienen subrutinas y funciones, los procedimientos que sean incluidos
dentro de un modulo debe ser precedidos por la instruccin CONTAINS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
END MODULE
COMPILACIN
EJEMPLO
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Mdulos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
Ejemplo:
MODULE my_subs
CONTAINS
SUBROUTINE bad_argument ( i )
IMPLICIT NONE
INTEGER, INTENT(IN) :: i
! Declare argument as integer.
WRITE (*,*) ' I = ', i
! Write out i.
END SUBROUTINE
END MODULE
PROGRAM bad_call
!
! Purpose:
! To illustrate misinterpreted calling arguments.
!
USE my_subs
IMPLICIT NONE
REAL :: x = 1.
! Declare real variable x.
CALL bad_argument ( x )
! Call subroutine.
END PROGRAM
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Interfases
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
Una referencia a un procedimiento externo se realiza usualmente por una interface implcita, el compilador asume los detalles.
Se
puede suministrar una interface explcita mediante un bloque de interface.
MODULE name_module
La forma general de una interface es:
ESTRUCTURAS DE
CONTROL
INTERFACE
subroutine1 .
INTERFACE
Interface_body_1
end subroutine1
Interface_body_2
subroutineN .
.
subroutine n
ENDend
INTERFACE
LECTURA / ESCRITURA
CON FORMATO
END INTERFACE
END MODULE
LECTURA / ESCRITURA
DE UN ARCHIVO
EXPLCITAS
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
IMPLCITAS
COMPILACIN
INTERFACES EN MDULOS
EJEMPLO
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Interfaces
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
PROGRAM interface_example
IMPLICIT NONE
INTEGER :: i
INTEGER :: iptr
INTEGER :: j
REAL :: temp
! Loop index
! Pointer to smallest value
! Loop index
! Temp variable for swaps
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Procedimientos Recursivos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
RESULT permite que una funcin devuelva el valor de una variable cuyo
nombre es distinto de la funcin.
COMPILACIN
EJEMPLO
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Procedimientos Recursivos
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
program rec
IMPLICIT NONE
INTEGER ::i=5,res
write (*,*)'El factorial de ', i,'es', fact(i)
pause
contains
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
end program
REGRESAR
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Compilacin
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
COMPILACIN
REFERENCIA
CONTENIDO
Programacin en Fortran 90
Referencias
INTRODUCCIN
ELEMENTOS BSICOS
DISEO DE PROGRAMAS
ESTRUCTURAS DE
CONTROL
Apuntes de FORTRAN FI
LECTURA / ESCRITURA
CON FORMATO
LECTURA / ESCRITURA
DE UN ARCHIVO
ARREGLOS
PROGRAMACIN
ESTRUCTURADA
Fortran_web1
COMPILACIN
Fortran _web2
Fortran _web3
Fortran _web4
Fortran _web5
REFERENCIA
CONTENIDO