Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porHernando Diaz Modificado hace 10 años
1
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 a) nombre del file a ser abierto b) datos contenidos en el file 3Describir el algoritmo Ejemplo de cómo usar el IOSTAT par a detectar el fin de archivo Recordar: IOSTAT= ierror En la lectura ierror toma el valor 0 si no existió ningún error. Si existió un error en el formato devuelve un número positivo Si encontró el fin de archivo, la variable devuelve un número negativo.
2
comenzar Nvals ← 0 Lee nombre del archivo Abre archivo lee valor Ierror == 0 Escribe error de apertura de file no Nvals = nvals+1 Escribir nvals, valor si Ierror>0 no Imp: Terminó el archivo, nvals Imp: Error en la línea stop no si
3
4. Escribir el algoritmo en lenguaje FORTRAN PROGRAM lectura ! ! Proposito: Ver como funciona IOSTAT para encontrar errores ! IMPLICIT NONE ! Diccionario e inicialización CHARACTER (len=20) : : archi! Nombre del archivo INTEGER : : nvals = 0 ! Número de valores INTEGER : :ierror! Valor del IOSTAT REAL : : valor! Valores leídos ! WRITE(*;*) ‘Entra el nombre del archivo’ READ (*,*) archi WRITE(*,*) ‘ El archivo es:’, archi ! ! Se abre el archivo y se ven los errores OPEN(UNIT= 3, FILE=archi, STATUS=‘OLD’, ACTION= ‘READ’, IOSTAT=ierror)
4
if1 IF( ierror ==0) THEN DO READ(3, *, IOSTAT = ierror) valor IF(ierror /= 0) EXIT nvals= nvals + 1 WRITE( *, 1010) nvals, valor 1010 FORMAT(‘ ‘, ‘registro ‘, nvals, ‘ valor’, F10.4) END DO if2 IF( ierror > 0) THEN WRITE(*, 1020) nvals+1 1020 FORMAT (‘0’, ‘ Hay un error en la lectura en el registro ‘, I6) ELSE WRITE(*,1030) nvals 1030 FORMAT( ‘0’, ‘Llegó al fin de archivo. Hay ‘, I6, ‘registros’) END IF if2 ELSE if1 WRITE(*,1040) ierror 1040 FORMAT (‘ ‘, ‘ Error en la apertura del file: ‘, I6) END IF if1 CLOSE(UNIT=3) END PROGRAM lectura
5
5. Verificación del programa Para verificar el programa vamos a usar 2 archivos. Uno de ellos con un error en los datos arch1 -17.0 30.001 1.0 12000 -0.012 arch2 -17.0 30.001 AAAA 12000 -0.012 Los resultados: ******************************************* Entra el nombre del archivo ‘arch1’ El archivo es: arch1 registro 1 valor -17.0000 registro 2 valor 30.0010 registro 3 valor 1.0000 registro 4 valor 12000.0000 registro 5 valor 0.0120 Llegó al fin de archivo. Hay 5 registros
6
Entra el nombre del archivo ‘arch2’ El archivo es: arch2 registro 1 valor -17.0000 registro 2 valor 30.0010 Hay un error en la lectura en el registro 3 ************************************************ Finalmente si hay un error en el archivo ************************************************* Entra el nombre del archivo ‘aarch2’ El archivo es: aarch2 Error en la apertura del file:29
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.