FORTRAN 77 y Cómputo Científico

Slides:



Advertisements
Presentaciones similares
IBD Curso 2007 Clase 2.
Advertisements

Algoritmo: Es una serie de procesos a seguir para la solución de un problema. Diagrama de Flujo: Es la representación de un algoritmo en forma jerárquica.
Lenguaje C++.
SENTENCIAS SECUENCIALES
PROGRAMACION ESTRUCTURADA
ESTRUCTURA DE DECISION LOGICA
Estructuras de decisión
Informática I – 4to año Volumen II.
PROGRAMACIÓN.
Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
Algoritmos & Estructuras de Datos
INFORMÁTICA PROGRAMACIÓN.
Técnico en programación de Software
Introducción a la Estadística Informática
Módulo 5: Estructuras de Decisión y Bucles
1.2 Sintaxis del lenguaje Java.
FORTRAN 90 arreglos.
FORTRAN 90 CONCEPTOS BÁSICOS.
FORTRAN 77 y Cómputo Científico
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
ESTRUCTURAS DE SECUENCIA
Introducción a la Computación
Introducción a la Computación (8va Semana) Lunes 23 de Abril del 2007
Arreglos (vectores, matrices, ….)
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 25 de Setiembre del 2006 Juan José Montero Román.
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
ESCUELA: NOMBRES: LÓGICA DE LA PROGRAMACIÓN UNIDAD 2: Naturaleza de los Datos FECHA: Ing. Patricio Abad Espinoza OCTUBRE 2009 – FEBRERO Ciencias.
FUNCIONES MATEMATICAS
MÓDULO DE PROCEDIMIENTOS Los módulos también pueden contener subrutinas y funciones → MÓDULO DE PROCEDIMIENTOS  PROCEDIMIENTOS → son compilados como parte.
ALGORITMOS Y ESTRUCTURA DE DATOS
Estructuras de repetición
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
Estructuras de Control
Tercera Clase Patricio A. Navarrete Septiembre 10 de 2011.
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
Brazos Bloque IF Permite que se ejecuten una serie de tareas si y sólo si una expresión lógica es verdadera. IF(logical_exp) then sentencia1 sentencia2.
Arrays (introducción)
LÓGICA - DECISIONES Los valores lógicos: constantes, variables y expresiones lógicas, permiten controlar la ejecución de las sentencias de un programa.
Diseño de diagramación Diagrama: es una representación gráfica del flujo información de y el proceso de ejecución del programa. Plateo del problema en.
CARACTERÍSTICAS DE LOS PROGRAMAS
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
Capítulo 2 – Estructuras de Control
Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas.
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
ESTRUCTURA DE DECISION LOGICA
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
ESTRUCTURA DE DATOS ESD-243
CLAUSULAS DE LA SENTENCIA OPEN Clausula Entrada y Salida PropósitoValores posibles [UNIT=] exp_enteraEntradaAsocia la entrada/salida a un file Entero.
1Hacer in programa que lea un número desconocido de datos reales de un disco y detecte el final de los datos en el archivo 2Definir entradas y salidas.
Ciclos (Loops, Repeticiones) Permiten ejecutar una secuencia de sentencias mas de una vez. Hay 2 tipos de loops:  WHILE repite la acción un número indefinido.
Teoría – Alejandro Gonzalez
 La estructura donde se guardan los datos de los programas se llama archivo (file)  Un file consiste en varias líneas de datos relacionados que forman.
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
Inicialización de arreglos de 2 variables INTEGER, DIMENSIÓN (4, 3) : : ini DO i=1, 4 DO j= 1,3 ini(i, j) = j END DO i=1123 i=2123 i=3123 i=4123 j=1j=2j=3.
Patricio A. Castillo José M. Galarce Agosto 23 de 2008 Segunda Clase.
Programación Básica con NQC Patricio A. Castillo 12/04/2008.
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
PRINCIPIOS DE PROGRAMACIÓN
Fundamentos de Programación
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Décimo Curso de Programación Básica con NQC “Segunda Clase” Cristián Arenas Ulloa Agosto 29 de 2009.
MC. J. D. Pope S. ITD Unidad II. Introducción a la programación 2.1 Ejemplo de programas 2.2 Identificadores, constantes y variables 2.3 Tipos de datos:
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
Introducción a la programación 2.1 Análisis de algoritmos computacionales 2.2 Tipos de datos definidos por el usuario 2.3Declaración de variables y constantes.
Entrada/Salida : I/O FORTRAN 90/95 MC. Pope ITD. Entrada y Salida (I/O) Fortran proporciona dos tipos de declaraciones para entrada y salida de datos.
Camilo Andrés Salazar González FORTRAN.  Estructura program circulo Real :: r, area write (*,*) 'Escribe el radio r:' read (*,*) r area = *r*r.
Transcripción de la presentación:

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 2007-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 RELACION ESPECÌFICOS .EQ. Igual a .NOT. negación .NE. desigual .AND. y .LT. Menor que .OR. o .LE. Menor o igual que .GT. Mayor que .XOR. o exclusivo .GE. Mayor o igual que

Constantes y variables alfanuméricas declaración Character*30 cad Cad=‘Esto es una cadena de caracteres’ 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

Funciones en FORTRAN 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 Open READ, WRITE y FORMAT 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)

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

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

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--- 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

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 Escribir FINAL

C C Programa para el calculo de las raices de una ecuacion de segundo C grado 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 100 format(2x,a20,2x,e15.8) 200 format(2x,a20,2x,’(‘,e15.8,’.’e15.9,’)’) close(12) end