Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Kami Export - Semana 3 - Física Computacional I
Kami Export - Semana 3 - Física Computacional I
(Semana 3)
Dr. José Domingo Arbañil Vela
Periodo 2021-I
¿Qué vemos en la imagen?
Saberes previos
• ¿Cómo se hace una impresión por pantalla?
• Positivo valor_inicial<=valor_final
• Negativo valor_inicial>=valor_final 1
• Pueden ser cualquier valor entero, también negativos.
• Si no se especifica, se considera igual a 1. Sentencia
Sentencias de control repetitivos
• Ejemplo:
• Sumas los primeros 20 números naturales.
• Bucle DO.
DO i=1,20
suma=suma+i
END DO
DO i=20,1,-1
suma=suma+i
END DO
Sentencias de control repetitivos
• DO WHILE
• Se usa si no se conoce el número de veces que ha de ejecutarse el bucle.
Sentencia
Sentencias de control repetitivos
• Ejemplo:
• Sumar números introducidos por teclado hasta introducir el 0.
• Condición de parada “número==0”
• Bucle DO WHILE.
DO WHILE (numero/=0)
suma=suma+numero
READ*, numero
END DO
Entrada y salida en Fortran
• Hay dos formas
• Entrada/salida dirigida por lista. Este es un formato libre.
• Entrada/salida con formato. Se define la manera exacta en que desee leer/escribir los datos:
• Descriptores de formato
• Describen la posición vertical de línea de texto.
• Describen la posición horizontal de los datos en una línea.
• Describen el formato de entrada/salida de un valor particular.
• Controlan la repetición de porciones de formatos.
Entrada y salida en Fortran
Símbolo Significado
c Número de columnas.
d Número de dígitos a la derecha del punto decimal.
m Mínimo número de dígitos.
n Número de espacios saltados.
r Número de repeticiones de un grupo de descriptores.
w Número de carácter o dígitos.
Entrada y salida en Fortran
Descriptores I de formato de números enteros
• Sintaxis general para salida de datos enteros [r]Iw[.m].
• Si el valor es demasiado grande para mostrarse con w dígitos, se muestran w asteriscos. Comprobado
SALIDA ENTRADA
Descriptor Valor interno Salida Descriptor Valor de entrada Leído
I4 452 *452 I4 *1** 1
I2 6234 ** I2 -1 -1
I5 -52 **-52 I4 -123 -123
I4.3 3 *003 I3 *12 12
I2.0 0 ** I2 123 12
Me sale "**"
Algunos asteriscos como estos representan "espacios" ya que en el ppt como colocamos espacios, sin que sean invisibles para contar.
Entrada y salida en Fortran
Descriptores F de formato de número real
• Sintaxis general para entrada/salida de datos reales [r]Fw.d.
• Si d es menor que el número de dígitos decimales del número, el valor se redondea.
• Si d es mayor que el número de dígitos decimales del número, se añaden ceros hasta
Si "d" es mayor o igual ...
completarlos.
• Si el valor es demasiado grande para leer/escribir con w caracteres, el campo w se llena con
asteriscos.
SALIDA ENTRADA
Descriptor Valor interno Salida Descriptor Valor de entrada Leído
F9.3 25.338 ***25.338 F6.3 49.225 49.225
F5.1 0.35247 **0.4 F6.2 49.225 49.23
F6.2 0.089235 **0.09 F7.1 -1525.1 -1525.1
F8.3 732.56 *732.560 Los "*" en este ppt son para representar
F4.3 -12.345 **** los espacios y * como tal, pero en el
fortran únicamente ponen "*" para cuando
el # es muy grande para "w"
Entrada y salida en Fortran
•
pensé que cambiaría con esto, pero no, asi que se redonde como lo "clásico" al
menos para este formato (ppt)
Descriptor Valor interno Salida Descriptor Valor de entrada Leído
ES8.2 83.456 8.35E+01 ES11.2 *43.258E+03 4.33E+04
ES7.2 83.456 ******* ES11.5 *43.258E+03 4.32580E+04
ES10.3 8.3974 *8.397E+00 ES11.3 ***0.43E-02 4.300E-03
ES11.4 0.83E+2 *8.3000E+01
SALIDA ENTRADA
Descriptor Valor interno Salida Descriptor Valor de entrada Leído
L5 .FALSE. ****F L5 ***T* .TRUE.
L4 .TRUE. ***T L2 *F .FALSE.
L1 .TRUE. T L4 *X*T ERROR
L2 .FALSE. *F
Entrada y salida en Fortran
Descriptores A de formato caracter
• Sintaxis general para entrada/salida de datos caracter [r]Aw.
• Si w no aparece, A lee/escribe el dato en una anchura igual a la longitud de la variable.
• Si w aparece, el descriptor A lee/escribe el dato en una anchura fija w.
• Si w>longitud, para salida, la cadena se ajusta a la derecha del campo. Para la entrada, el
dato del fragmento derecho del campo se lee en la variable caracter.
• Si w<longitud, para salida, solo se escriben los primeros w caracteres. Para la entrada, los
primeros w caracteres de la cadena se ajustan a la izquierda de la variable.
SALIDA ENTRADA
Descriptor Valor Long. de la Salida Descriptor Valor de Long. De la Leído
interno variable entrada variable
A ABCDEF 6 ABCDEF A ABCDEF 6 ABCDEF
A8 ABCDEF 6 **ABCDEF A ABCDEFGH 8 ABCDEFGH
A4 ABCDEF 6 ABCD A4 ABCDEFGH 6 ABCD**
Entrada y salida en Fortran
Descriptores de posición horizontal y vertical
• Los descriptores X y T se usan para controlar el espacio horizontal y el
descriptores slash/ para controlar el espacio vertical.
• nX
• Salida: Se emplea para espaciar los datos. El descriptor nX salta n espacios en la línea actual.
• Entrada: Se emplea para saltar por encima de campos de entrada que no se quieren leerse en
la línea actual.
• Tc
• Salida: Suele emplearse para espaciar los datos.
• Entrada: Suele usarse para saltar por encima de campos de entrada que no se quieren leer o
para leer varias veces unos datos.
• /[/][…]
• Salida: Con un slash se empieza una nueva línea.
• Entrada: Un slash ignora la línea actual y comienza a procesar las siguiente línea.
Entrada y salida en Fortran
Procesamiento de archivos
• Para que fortran pueda usar un archivo, debe abrirlo, asignándole una unidad. La
sintaxis para abrir un archivo es: OPEN(lista_open)
• La lista_open puede incluir dos o más clausulas separadas por comas. Las más
importantes son:
[UNIT=unidad]-> Es un # entero entre 1 y 99 que identifica el archivo.
[FILE=archivo]-> Es una expresión que indica el nombre del archivo que se desea aclarar.