Title: Entradas y salidas I/O
1Entradas y salidasI/O
2 READ (, ) WRITE( )
Formato libre
- Format ? se utiliza para especificar la forma en
que las variables son impresas o leÃdas en un
programa. - WRITE(, 100) i, resultado
- 100 FORMAT( El resultado de la iteración ,
i3, es , f7.3 ) - ? Es el nivel (nombre de la sentencia)
- Format ? como se va a imprimir esa sentencia
- I3 y f7.3 ? describen como se imprimen i y
resultado - El resultado de la iteración ? Frase
explicativa - I3 ? usa 3 lugares para escribir, significa que
va a escribir un número entero de a lo sumo 3
dÃgitos - F7.3 ? usa 7 lugares para escribir este número
con 3 decimales a la derecha del punto. - El resultado de la iteración 21 es 3.142
formateado - El resultado de la iteración 21 es
3.141593 formato libre
3- Distinta formas de incluir los formatos
- WRITE( ,100) i, x
- 100 FORMAT(1X, i6, F10.2) ! sentencia FORMAT
- CHARACTER (20) forma ! Formato
con character variable - forma (1X, i6, F10.2)
- WRITE( , forma) i, x
- WRITE( , (1X, i6, F10.2)) i, x !
Formato con character constante
Los descriptores están separados por comas
Las impresoras o las pantallas generalmente usan
132 caracteres de ancho y 72 lineas de largo
1 2
133
El primer carácter no se imprime se lo conoce
como caracter de control y especifica el
espaciamiento vertical por lÃnea de acuerdo con
la tabla
4caracter de control acción
1 Salta a una nueva página
Blanco Simple espacio
0 Doble espacio
sin espaciamiento (sobreimprime)
Ej WRITE(,100) 100 format (1,
Escribe en el tope de una nueva
pagina) WRITE(,110) 110 format (0, Doble
espaciamiento vertical) WRITE(,120) 120
format ( , )
Escribe en el tope de una nueva pagina Doble
espaciamiento vertical
5! ATENCIÓN
Ej WRITE ( , (I3)) n Si el número que voy
a imprimir es 123 y no está en el primer lugar un
caracter de control, toma al 1 y salta a una
nueva página. 100 FORMAT(1, I3) 100
FORMAT(1, contador , I3) 100
FORMAT(1contador , I3)
6- Descriptores del formato
- Describen la posición vertical de una lÃnea de
texto - Describen la posición horizontal de una lÃnea de
texto - Describen la el formato de salida de un valor
particular - Controla la repetición de una porción del formato
SÃmbolo significado
c Número de columna
d Número de dÃgitos a la derecha del punto decimal para la entrada o salida de in real
m Número mÃnimo de dÃgitos a ser mostrados
n Número de espacios para saltear
r Factor de repetición? número de veces a usar un grupo de descriptores
w Ancho del campo? número de caracteres a usar para la entrada o salida
7SALIDA DE NÚMEROS ENTEROS Descriptor I
- El descriptor de los números enteros es la I. Su
formato en general - repetición ?rIw o rIw.m ?
número de dÃgitos que ancho del
campo que imprime - Esto significa que el ultimo digito del valor
entero ocupará la columna más a la derecha del
campo. - Si el valor a imprimir es mayor que el campo
asignado, en lugar de imprimir parte del número
imprime . - w m
- Si el número a imprimir es mas pequeño que m
agrega 0 a la izquierda. - Si el número a imprimir es mas mayor que m este
es ignorado. - m puede ser 0 !!!! Esto es no se pueden
escribir dÃgitos. Si el número a imprimir es 0
pone blancos, si es otro dÃgito usa Iw - Si el número a imprimir es negativo hay que
agregar un espacio mas en el ancho. Si es
positivo el signo no se imprime. -
8Ej
El factor de repetición es el número de veces que
el descriptor tiene que repetirse Ej 1 3I4 es
equivalente a I4, I4, I4 Ej 2 INTEGER a
3, b -5, c 128 WRITE( ,(3i4.2)) a, b, c
9SALIDA DE NÚMEROS REALES Descriptor F
El descriptor de los números reales es la F. Su
formato en general repetición ?rFw.d ?
número de dÃgitos posteriores al punto decimal
ancho del campo
- Cuando se imprime un número real hay que tener en
cuenta que la parte entera ocupa w - (d1). Si
el valor de la parte entera supera el espacio
asignado todas las posiciones se completan con .
Si se trabaja con números negativos w (d2) - cuando el número decimal contiene mas decimales
de los que serán impresos el valor será
redondeado. - Ej el 1.73 con un formato de F3.1 un
lugar se usa para el punto un lugar para el
decimal y un lugar para el entero ? 1.7. Si fuera
1.76 imprime 1.8.
10- Si el número tiene menos decimales que los
considerados con el descriptor los espacios
serán completados con 0. - Ej 1.73 con formato F5.3 imprime 1.730
Ej
Ej REAL a 12.34, b -0.945, c
100.0 WRITE(,"(3F6.2)") a, b, c
11Descriptor E
Los números reales pueden ser impresos en
notación exponencial usando el descriptor E. Su
formato en general repetición ?rEw.d ?
número de dÃgitos posteriores al punto decimal
ancho del campo
- El descriptor E se utiliza con un numero entre
0.1 y1.0 y una potencia de 10 - Ej
- el número 4096.0 ? 0.4096 x 104 y se escribe
con el descriptor - E ? 0.4096 E04
- Cuando se utiliza la notación cientÃfica se
tienen que tener en cuenta los siguientes lugares
- 3?? para el signo de la mantisa, el 0 y el punto
- 1? para la E
- 3? para el signo del exponente y 2 para el
exponente. - En general w d 7
- Ej
- REAL a 1.2346E6, b 0.001, c -77.7E10,
d -77.7E10
12 REAL a 1.2346E6, b 0.001, c -77.7E10,
d -77.7E10 WRITE (, 200) a, b, c,
d 200 FORMAT( , 2E14.4, E13.6, E 11.6 )
5 10 15 20 25 30 35 40 45
0 . 1 2 3 5 E 0 7 0 . 1 0 0 0 E - 0 2 - 0 . 7 7 7 0 0 0 E 1 2
50 55
Descriptor ES
Es exactamente como el descriptor E solo que la
mantisa va entre 1 y 10 En general rESw.d
13Ej
REAL a 1.2346E6, b 0.001, c
-77.7E10 WRITE (, 200) a, b, c 200 FORMAT( ,
2ES14.4, E12.6)
5 10 15 20 25 30 35 40
1 . 2 3 5 E 0 6 1 . 0 0 0 E - 0 3