La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

FORTRAN 77 y Cómputo Científico Guilmer González Facultad de Ciencias – UNAM Programación Avanzada para Ingenieros Petroleros asilados en la Facultad de.

Presentaciones similares


Presentación del tema: "FORTRAN 77 y Cómputo Científico Guilmer González Facultad de Ciencias – UNAM Programación Avanzada para Ingenieros Petroleros asilados en la Facultad de."— Transcripción de la presentación:

1 FORTRAN 77 y Cómputo Científico Guilmer González Facultad de Ciencias – UNAM Programación Avanzada para Ingenieros Petroleros asilados en la Facultad de Ciencias

2 Algunos operadores, sentencias, conceptos de uso común (I) Constante: Valor que no cambia durante el programa. Variable: Valor que puede modificarse. Constante y variables ENTERAS: I,J,K,L,M,N : enteras por defecto Declaraciones: integer, integer*2, integer*4 Constante y variables REALES Declaraciones: real, real*4,real*8, ¿ real*16 ? (programa int_div) Constante y variables LOGICAS (solo 2 valores).TRUE. Verdadero.FALSE. Falso OPERADORES LOGICOS DE RELACIONESPECÌFICOS.EQ..NE..LT..LE..GT..GE. Igual a desigual Menor que Menor o igual que Mayor que Mayor o igual que.NOT..AND..OR..XOR. negación y o o exclusivo

3 Constantes y variables alfanuméricas Cad=Esto es una cadena de caracteres Character*30 caddeclaración Cad(1:1)=E Operador más usual con cadenas: // Sentencia IMPLICIT Implicit tipo_de_variable lista_de_letras Implicit real*8 (A-H,O-Z) Implicit NONE

4 Funciones en FORTRAN 1)Intrínsecas: las que trae el compilador. REAL();AIMAG(),SIN(),COS(),… 2)De usuario: las define el usuario y=f(x) Entrada-Salida E/S 1.Open 2.READ, WRITE y FORMAT 3.CLOSE OPEN(UNIT=unit,FILE=nombre,STATUS= NEW OLD UNKNOWN CLOSE(unit) READ(UNIT=unit,FORMAT=formato) lista WRITE(UNIT=unit,FORMAT=formato)lista etiqueta FORMAT(lista_de_formato)

5 Sentencias de control en FORTRAN IF GO TO DO - ENDDO IF(condición) sentencia IF(condición) THEN bloque ENDIF IF(condición) THEN primer bloque ELSE segundo bloque ENDIF

6 GO TO etiqueta Transfiere control del programa. !! Evitar su uso !! Bloque ENDDO DO ivar=n1,n2,n3 bloque ENDDO Alternativa DO etiqueta ivar=n1,n2,n3 bloque Etiqueta CONTINUE DO ENDDO DO ENDDO DO ENDDO DO ENDDO Correcta Incorrecta

7 C C Programa que realiza una tabla de la funcion C sin(x) entre dos valores de x dados por el C usuario. C C C--- Declaracion de variables implicit real*8 (a-h,o-z) character*20 file_out c c--Entrada de datos write(6,*)' limite inferior:' read(5,*)xinf write(6,*)' limite superior:' read(5,*)xsup write(6,*)' numero de intervalos:' read(5,*)inter write(6,*)' nombre del archivo:' read(5,'(a20)')file_out C---Realizacion de la tabla open(unit=30,file=file_out,status='new') write(30,50) xpaS=(xsup-xmin)/dfloat(inter) do i=1,inter+1 x=xinf+dble(i-1)+xpas y=dsin(x) write(30,100)X,Y enddo 50 FORMAT(8X,' x ',10X,' sin(x) '/) 100 FORMAT(2(2X,D13.5)) close(30) stop end

8 Algoritmo: Sistema secuencial para resolver un problema Ejemplo: Diagrama de flujo para resolver una ecuación de segundo grado INICIO Entrar a b c Si No Escribir FINAL

9 C C Programa para el calculo de las raices de una ecuacion de segundo C grado C C complex*8 z1,z2 tol=1.0d-5 write(6,*) De el coeficiente cuadratico read(5,*)a if(abs(a).lt.tol)then write(6,*) El coeficiente debe ser mayor stop endif write(6,*) De el coeficiente lineal read(5,*)b write(6,*) De el coeficiente inependiente read(5,*)c open(unit=12,file=resul.res,status=new) C Calculo y escritura de las fraices dis=b*b-4.*a*c if(dis.ge.0.) then x1=(-1.0*b + sqrt(dis))/(2.0*a) x2=(-1.0*b - sqrt(dis))/(2.0*a) write(12,100) primera raiz =,x1 write(12,100) segunda raiz =,x2 else z1=(cmplx(-1.0*b)+sqrt(cmplx(dis)))/(cmplx(2.0*a)) z2=(cmplx(-1.0*b)-sqrt(cmplx(dis)))/(cmplx(2.0*a)) write(12,100) primera raiz =,z1 write(12,100) segunda raiz =,z2 endif 100 format(2x,a20,2x,e15.8) 200 format(2x,a20,2x,(,e15.8,.e15.9,)) close(12) stop end


Descargar ppt "FORTRAN 77 y Cómputo Científico Guilmer González Facultad de Ciencias – UNAM Programación Avanzada para Ingenieros Petroleros asilados en la Facultad de."

Presentaciones similares


Anuncios Google