Volver a la página principal
martes 15 octubre 2024
14

Cómo leer datos en Fortran con read

El comando read en Fortran se utiliza para leer datos desde la entrada estándar (generalmente el teclado) o desde archivos. Es esencial para interactuar con el usuario o procesar datos de archivos en programas Fortran.

¿Cómo usar read en Fortran?

El uso básico de read permite capturar datos desde el teclado y almacenarlos en variables. Puedes usar read con un formato libre o definido, dependiendo de cómo deseas procesar los datos.

Sintaxis básica:

read *, variable

Aquí el asterisco (*) indica que Fortran detectará automáticamente el formato de entrada. Si necesitas leer múltiples variables a la vez, simplemente colócalas separadas por comas.

Leer desde la entrada estándar (teclado)

La forma más común de usar read es para solicitar datos al usuario a través del teclado.

read *, variable1, variable2

Leer desde un archivo

Si deseas leer datos de un archivo, puedes hacerlo especificando un número de unidad (un canal que asocia Fortran con un archivo) y usando el comando open antes de la lectura.

open(unit=10, file="datos.txt", status="old")
read(10, *) variable
close(10)

Ejemplos de uso de read en Fortran

Ejemplo 1: Leer un valor desde el teclado

program leer_teclado
  integer :: edad
  print *, "Ingrese su edad:"
  read *, edad
  print *, "Su edad es:", edad
end program leer_teclado

Ejemplo 2: Leer varios valores desde el teclado

program leer_varios
  integer :: a, b
  print *, "Ingrese dos números enteros:"
  read *, a, b
  print *, "Los números ingresados son:", a, b
end program leer_varios

Ejemplo 3: Leer desde un archivo

program leer_archivo
  integer :: numero
  open(unit=10, file="datos.txt", status="old")
  read(10, *) numero
  print *, "El número leído del archivo es:", numero
  close(10)
end program leer_archivo

Referencia oficial

Para más detalles sobre la función read, puedes consultar la documentación oficial de Fortran.

Etiquetas:
fortran
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer