Breve Historia del lenguaje - el lenguaje FORTRAN fue el primer lenguaje de alto nivel usada para programacion de computadoras, propuesta por J. BACKUS, em 1953 - primer compilador para IBM 704 en 1957; - creacion de FORTRAN 90 devido a poca capacidad de FORTRAN 77 en relacion a C, C++,ADA; Objetivos: Facilidades de transcripcion de frmulas matemticas para ser usadas en las computadoras. Direcionada para aplicaciones en matemtica, ingeniernia y analisis cientificas. Items Fundamentales: Tipos de Datos Variables Comando de asignacin Expresiones aritmticas Expresiones logicas Entrada y salida Estrutura Condicional Estrutura de repeticion
Tipos de Datos INTEGER; REAL; COMPLEX; LOGICAL; CHARACTER.
Variables: 1 a 31 caracteres. 1 caracter debe ser una letra. Apenas letras, giones, y dgitos son permitidos. No son sensibles a maysculas o minsculas; Pueden ser utilizadas palabras claves; Se pueden utilizar nombres de procedimientos intrnsecos.
Declaracion de Variables: Ejemplos:
character*3 :: p real :: r complex :: c logical :: l
nombre-tipo :: lista de identificadores Comando de asignacin
Identificador = expresion - Ejemplos: -Variables inicializadas: i = 2 integer :: count = 0 r = 0.0 real :: sum = 0.0 c = ABC character*4 :: c = (cr) l = .TRUE. Logical :: l = .FALSE. EXPRESIONES ARITMETICAS: OPERADOR OPERACION + Adicion - Resta * Multiplicacion / Division ** Potencia prioridades operacion 1 Potencia 2 Multiplicacion,division 3 Adicion,resta Algunas Funciones Intrnsecas: Nombre Definicion Tipo da funcion ALOG 10(X) logaritmo en base 10 de X Tipo do argumento de X
EXP (X) N de elevado a X Tipo do argumento de X ABS (X) Um valor absoluto de X Tipo do argumento de X BIT_SIZE(I) Retorna un nmero de bits de la i nmero entero
Entero INT (A,Kind) conversion de n. no es real a entero Entero MAX (A1,A2,A3,...)
Valor mximo da secuencia Tipo do argumento Expresiones Lgicas: Operador (Fortran 90) Operador (Fortran 77) Significado < .LT. Less than <= .LE. Less than or equal to = = .EQ. Equal to /= .NE. Not Equal to > .GT. Greater than >= .GE. Greater than or equal to Operadores lgicos: .AND. Para conjuncin .OR. Para disyuncin .NOT. Para a negacion Entrada y Salida: Externo Memria del Computador
INPUT teclado comvierte forma interna integer array arq disco real Cinta magntica character
OUTPUT monitor comvierte forma externa integer array impressora real Cinta magntica character
Comandos de Entrada y Salida: READ (leer) input_list WRITE(escribir) output_list
Default unit 5, para entrada de datos unit 6, para salida de datos Ejemplos: READ (unit = 5,fmt = (3F6.2)) x,y,z READ (unit = *,fmt = (5F6.3)) p,q,r,s,t WRITE (unit = 6,fmt = 200) x 200 FORMAT (F5.2) WRITE (unit = *,fmt = 201) x/y 201 FORMAT (F5.2)
Descritores de edicin: I edita tipo entero F o E edita tipo real A edita tipo caracteres L edita tipo lgico X,T,TL,TR usado para controlar donde los datos debe ser leer uma cadena de entrada en donde debe ser colocado en secuencia de salida. Ejemplos de formato: Linea de entrada de datos: 123456789 - READ (4X,I5), un 56789 ser almacenado en una - READ (T4,I2,T8,I2,T2,I4), x,y,z x = 45 y = 89 z = 2345 - READ(F3.1,F2.2,F3.0,TL6,F4.2),r1,r2,r3,r4 r1 = 12.3 r2 = 0.45 r3 = 678.0 r4 = 34.56
Estruturas condicional: Estrutura condicional simples Comando IF lgico Estrutura condicional compuesta Estrutura CASE
Estrutura condicional simples: IF,THEN e END IF palabras claves Condicion B exprecion lgica IF (condicion B) THEN secuencia de A comandos END IF
Comando IF lgico: IF (condicion B) comando A IF palabra clave Condicion B es una expresion lgica Comando A cualquier comando, excepto un comando DO u otro comando IF Estrutura Condicional Compuesta: IF (condicion B) THEN secuencia de comandos ELSE secuencia B de comandos END IF IF,THEN,ELSE e END IF palabras claves Condicion B uma exprecion logica PROGRAM cuadratica REAL, PARAMETER :: delta=0.0 REAL :: a,b,c,d,sqrt_d,x1,x2
PRINT *," Introduzca los tres coeficientes a, b, y c " PRINT * Para saltar una lnea READ *,a,b,c d=b**2-4*a*c IF (d>delta) THEN sqrt_d = SQRT(d) x1 = (-b+sqrt_d)/(a+a) x2 = (-b-sqrt_d)/(a+a) PRINT *," La ecuacin tiene dos races reales : ",x1," y ",x2 ELSE IF (d==delta) THEN x1 = -b/(a+a) PRINT *," La ecuacin tiene una raz real : ",x1 ELSE PRINT *," La ecuacin no tiene races reales " END IF END PROGRAM cuadratic Estrutura CASE: SELECT CASE (exprecion caso) CASE (caso seleccionado) Comando Bloquear CASE (caso seleccionado) Comando Bloquear. . END SELECT Exemplo da estrutura CASE: ! Programa que calcula qu temporada pertenece los meses SELECT CASE (mes) CASE (08:10) PRINT *,date, esta en primavera CASE ( 11,12,01) PRINT *,date, esta en verano CASE (02,03,04) PRINT *,date, esta en otoo CASE (05,06,07) PRINT *,date, esta en invierno END SELECT Estrutura de Repeticion: DO bucles controlados DO bucles flexibles DO WHILE
Estrutura DO: DO count = inicial, final, inc ... bloque de comandos ... END DO DO e END DO palabras claves count variable contadora initial valor inicial final valor final inc - incremento Ejemplo de Estrutura DO: estrutura DO contador de interaccion valores da variables DO i = 1,10 10 1,2,3,4,5,6,7,8,9,10 DO j = 20,50,5 7 20,25,30,35,40,45,50
DO x = -20,20,6 7 -20,-14,-8,-2,4,10,16 DO m = 20,-20,-6 7 20,14,8,2,-4,-10,-16 Estrutura DO mas flexible: DO count = 1,max_iterations ... IF (term < epsilon) EXIT ... END DO ... OBS: despus de obedecer el comando EXIT u obedecer despus de que el nmero mximo de interaciones, la ejecucin del programa contina a partir del siguiente comando. Estrutura DO WHILE: DO WHILE (condicion A) ... bloque de comandos ... END DO
DO, WHILE, END DO - palabras claves Condicion A expresion lgica