En este módulo, aprenderemos cómo manejar la entrada y salida (I/O) en Fortran. La capacidad de leer datos de entrada y escribir resultados es fundamental para cualquier programa. Fortran proporciona varias formas de realizar estas operaciones, y en esta sección cubriremos las más básicas y esenciales.
Contenido
Introducción a la Entrada y Salida
La entrada y salida en Fortran se maneja principalmente a través de las sentencias READ
y WRITE
. Estas sentencias permiten interactuar con el usuario o con archivos para obtener datos y mostrar resultados.
Lectura de Datos: Sentencia READ
La sentencia READ
se utiliza para leer datos de entrada. La sintaxis básica es:
- El primer asterisco
*
indica que la entrada se tomará del teclado (entrada estándar). - El segundo asterisco
*
indica que se utilizará el formato libre, lo que significa que Fortran determinará automáticamente el formato de los datos de entrada.
Ejemplo:
PROGRAM LeerDatos IMPLICIT NONE INTEGER :: edad REAL :: altura PRINT *, 'Introduce tu edad:' READ(*, *) edad PRINT *, 'Introduce tu altura en metros:' READ(*, *) altura PRINT *, 'Edad:', edad PRINT *, 'Altura:', altura END PROGRAM LeerDatos
En este ejemplo, el programa solicita al usuario que introduzca su edad y altura, y luego muestra estos valores.
Escritura de Datos: Sentencia WRITE
La sentencia WRITE
se utiliza para escribir datos de salida. La sintaxis básica es:
- El primer asterisco
*
indica que la salida se enviará a la pantalla (salida estándar). - El segundo asterisco
*
indica que se utilizará el formato libre.
Ejemplo:
PROGRAM EscribirDatos IMPLICIT NONE INTEGER :: edad REAL :: altura edad = 25 altura = 1.75 WRITE(*, *) 'Edad:', edad WRITE(*, *) 'Altura:', altura END PROGRAM EscribirDatos
En este ejemplo, el programa asigna valores a las variables edad
y altura
, y luego muestra estos valores en la pantalla.
Formatos de Entrada y Salida
Fortran permite especificar formatos personalizados para la entrada y salida de datos. Esto se hace utilizando especificadores de formato en lugar del segundo asterisco *
.
Ejemplo de Formato:
PROGRAM FormatoDatos IMPLICIT NONE INTEGER :: edad REAL :: altura PRINT *, 'Introduce tu edad:' READ(*, '(I3)') edad PRINT *, 'Introduce tu altura en metros:' READ(*, '(F5.2)') altura WRITE(*, '(A, I3)') 'Edad: ', edad WRITE(*, '(A, F5.2)') 'Altura: ', altura END PROGRAM FormatoDatos
En este ejemplo:
(I3)
indica que se leerá un entero de 3 dígitos.(F5.2)
indica que se leerá un número de punto flotante con 5 caracteres de ancho y 2 decimales.(A, I3)
y(A, F5.2)
son especificadores de formato para la salida.
Ejercicios Prácticos
Ejercicio 1: Leer y Escribir Datos
Escribe un programa que lea el nombre, la edad y la altura de una persona, y luego muestre estos datos en la pantalla.
Solución:
PROGRAM DatosPersona IMPLICIT NONE CHARACTER(LEN=50) :: nombre INTEGER :: edad REAL :: altura PRINT *, 'Introduce tu nombre:' READ(*, '(A)') nombre PRINT *, 'Introduce tu edad:' READ(*, '(I3)') edad PRINT *, 'Introduce tu altura en metros:' READ(*, '(F5.2)') altura WRITE(*, '(A, A)') 'Nombre: ', nombre WRITE(*, '(A, I3)') 'Edad: ', edad WRITE(*, '(A, F5.2)') 'Altura: ', altura END PROGRAM DatosPersona
Ejercicio 2: Cálculo de Promedio
Escribe un programa que lea tres números enteros, calcule su promedio y muestre el resultado.
Solución:
PROGRAM CalculoPromedio IMPLICIT NONE INTEGER :: num1, num2, num3 REAL :: promedio PRINT *, 'Introduce tres números enteros:' READ(*, *) num1, num2, num3 promedio = (num1 + num2 + num3) / 3.0 WRITE(*, '(A, F5.2)') 'El promedio es: ', promedio END PROGRAM CalculoPromedio
Conclusión
En esta sección, hemos aprendido cómo manejar la entrada y salida en Fortran utilizando las sentencias READ
y WRITE
. También hemos visto cómo utilizar formatos personalizados para la entrada y salida de datos. Estos conceptos son fundamentales para interactuar con el usuario y manejar datos en cualquier programa.
En el próximo módulo, exploraremos las estructuras de control en Fortran, comenzando con las sentencias IF
.
Curso de Programación en Fortran
Módulo 1: Introducción a Fortran
- Introducción a Fortran
- Configuración del Entorno de Desarrollo
- Sintaxis y Estructura Básica
- Escribiendo tu Primer Programa en Fortran
Módulo 2: Conceptos Básicos
- Variables y Tipos de Datos
- Operadores y Expresiones
- Entrada y Salida
- Estructuras de Control: Sentencias If
- Estructuras de Control: Bucles
Módulo 3: Arreglos y Cadenas
- Introducción a los Arreglos
- Arreglos Multidimensionales
- Manejo de Cadenas
- Operaciones con Arreglos y Cadenas
Módulo 4: Procedimientos y Funciones
Módulo 5: Estructuras de Datos Avanzadas
Módulo 6: Manejo de Archivos
- Lectura de Archivos
- Escritura de Archivos
- Posicionamiento de Archivos
- Operaciones con Archivos Binarios
Módulo 7: Temas Avanzados
Módulo 8: Mejores Prácticas y Optimización
- Técnicas de Optimización de Código
- Depuración y Perfilado
- Escribiendo Código Mantenible
- Estándares y Portabilidad de Fortran