13

READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

Embed Size (px)

Citation preview

Page 1: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,
Page 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(*,

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, resultado100 FORMAT( ‘ El resultado de la iteración ’, i3, ‘ es ‘ , f7.3 )

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

Page 3: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

Distinta formas de incluir los formatos:

WRITE(* ,100) i, x100 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

Page 4: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

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

Page 5: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

! ATENCIÓN

Ej WRITE ( *, ‘(I3)’) nSi 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)

Page 6: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

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

Descriptores del formato1.Describen la posición vertical de una línea de texto2.Describen la posición horizontal de una línea de texto3.Describen la el formato de salida de un valor particular4.Controla la repetición de una porción del formato

Page 7: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

SALIDA DE NÚMEROS ENTEROSSALIDA DE NÚMEROS ENTEROSDescriptor IDescriptor 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.

Page 8: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

Ej

El factor de repetición es el número de veces que el descriptor tiene que repetirseEj 1 3I4 es equivalente a I4, I4, I4

Ej 2 INTEGER : : a = 3, b = -5, c =128 WRITE( *,”(3i4.2)”) a, b, c

Page 9: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

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

SALIDA DE NÚMEROS REALESSALIDA DE NÚMEROS REALESDescriptor F Descriptor F

Cuando se imprime un número real hay que tener en cuenta que la parte entera ocupa w - (d+1). 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 ≥ (d+2) 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.

Page 10: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

Ej:

Ej: REAL :: a = 12.34, b = -0.945, c = 100.0WRITE(*,"(3F6.2)") a, b, c

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

Page 11: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

Descriptor EDescriptor 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 10Ej:

el número 4096.0 → 0.4096 x 104 y se escribe con el descriptor E → 0.4096 E+04

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

REAL : : a = 1.2346E6, b = 0.001, c = -77.7E10, d = -77.7E10

Page 12: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

REAL : : a = 1.2346E6, b = 0.001, c = -77.7E10, d = -77.7E10WRITE (*, 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 ESDescriptor ES

Es exactamente como el descriptor E solo que la mantisa va entre 1 y 10En general: rESw.d

Page 13: READ (*, *) WRITE(*; *) Formato libre Format → se utiliza para especificar la forma en que las variables son impresas o leídas en un programa. WRITE(*,

Ej REAL : : a = 1.2346E6, b = 0.001, c = -77.7E10WRITE (*, 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 * * * * * * * * * * *