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:

READ(*, *) variable1, variable2, ...
  • 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:

WRITE(*, *) variable1, variable2, ...
  • 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.

© Copyright 2024. Todos los derechos reservados