lp archivos fortran

Post on 10-Dec-2015

227 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

fortran teoría y problemas

TRANSCRIPT

LENGUAJE DE PROGRAMACION

Autor: Ing. William Chauca Nolasco

ARCHIVOS

DATOS DERIVADOS

EJEMPLO

Vamos a escribir un programa que se encargue de leer las coordenadas de dos puntos en el plano: P1(x1,y1) y P2(x2, y2). Y que calcule los tres coeficientes a, b, y c de la recta que los une siendo su ecuación: A x + B y + C=0Haciendo uso de la expresión de la ecuación de la recta en función de las coordenadas de dos puntos es:

A=y2-y1

B=x1-x2

C=y1* x2 - y2 * x1

EJEMPLO 2

Supongamos el tipo derivado persona que va a ser utilizado como argumento verdadero en una unidad programa principal y, como argumento ficticio, en un programa externo subrutina. Entonces, tal tipo derivado se definirá a través de un modulo llamado tipo_persona

EJEMPLO 3

Se tiene el siguiente archivo de datos con nombre REGISTRO.DAT el cual contiene información de nombre, apellido paterno, apellido materno, nota1, nota2, nota3 tal como se ve en la figura:

Elabore un programa que realice las siguientes operaciones:1.- Lea los datos del archivo REGISTRO.DAT y los visualice en la pantalla2.- Genere un archivo con nombre SOLONOTAS.DAT que almacene los datos numéricos del archivo REGISTRO.DAT3.-Calcule el promedio de las tres notas de cada alumno y a su vez almacene en un nuevo archivo de datos con nombre FINAL.DAT con las notas y el promedio

PROGRAM DERIVADO_2IMPLICIT NONE!DECLARACION DE DATO DERIVADO ALUMNOSTYPE ALUMNOSCHARACTER(LEN=12)::NOMBRECHARACTER(LEN=15)::APELLIDO1CHARACTER(LEN=15)::APELLIDO2INTEGER::N1,N2,N3END TYPE ALUMNOSINTEGER::I,NOT1,NOT2,NOT3REAL::PROMEDIO

!DECLARACION DE VARIABLE TIPO DERIVADOTYPE(ALUMNOS)::DATOSOPEN(UNIT=3,FILE='REGISTRO.DAT',STATUS='OLD')OPEN(UNIT=4,FILE='SOLONOTAS.DAT',STATUS='OLD')OPEN(UNIT=6,FILE='FINAL.DAT',STATUS='OLD')

!LEYENDO LOS DATOS DEL ARCHIVO REGISTRO.DAT!Y A LA VES LO VISUALIZAMOS EN LA PANTALLAPRINT*," DATOS DEL ARCHIVO REGISTRO.DAT"DO I=1,4 READ(3,*) DATOS PRINT*,DATOSEND DOCLOSE(3)!APERTURANDO EL ARCHIVO REGISTRO.DATOPEN(UNIT=3,FILE='REGISTRO.DAT',STATUS='OLD')PRINT*PRINT*,"VISUALIZANDO SOLO LAS NOTAS DEL ARCHIVO REGISTRO.DAT"DO I=1,4 READ(3,*) DATOS PRINT*,DATOS%N1,DATOS%N2,DATOS%N3!GUARDANDO SOLO LAS NOTAS AL ARCHIVO SOLONOTAS.DAT WRITE(4,*) DATOS%N1,DATOS%N2,DATOS%N3END DOCLOSE(4)

OPEN(UNIT=4,FILE='SOLONOTAS.DAT',STATUS='OLD')!CALCULANDO EL PROMEDIO DE CADA ALUMNOPRINT*,"VISUALIZANDO LAS NOTAS Y EL PROMEDIO" DO I=1,4 READ(4,*) NOT1,NOT2,NOT3 PROMEDIO=(NOT1+NOT2+NOT3)/3.0 WRITE(6,100) NOT1,NOT2,NOT3,PROMEDIO PRINT 100, NOT1,NOT2,NOT3,PROMEDIO END DO 100 FORMAT(1X,3(I4,1X),1X,F8.2)CLOSE(4)CLOSE(6)END PROGRAM DERIVADO_2

top related