En Fortran, una subrutina es un bloque de código que realiza una tarea específica y puede ser llamada desde cualquier parte del programa. Las subrutinas permiten modularizar el código, haciéndolo más claro, reutilizable y fácil de mantener. A diferencia de las funciones, las subrutinas no devuelven un valor directamente, sino que pueden modificar sus parámetros de entrada.
subroutine
en Fortran?
La estructura de una subrutina en Fortran incluye la declaración de la subrutina con la palabra clave subroutine
, seguida del nombre y de los argumentos, y termina con la palabra clave end subroutine
.
subroutine nombre_subrutina(arg1, arg2, ...)
! Cuerpo de la subrutina
end subroutine nombre_subrutina
call nombre_subrutina(arg1, arg2, ...)
subroutine
en Fortran
program ejemplo_subrutina
call mensaje_bienvenida
contains
subroutine mensaje_bienvenida
print *, "Bienvenido a Fortran"
end subroutine mensaje_bienvenida
end program ejemplo_subrutina
Salida:
Bienvenido a Fortran
program suma_valores
real :: a, b, resultado
a = 5.0
b = 3.0
call sumar(a, b, resultado)
print *, "La suma de", a, "y", b, "es:", resultado
contains
subroutine sumar(x, y, res)
real, intent(in) :: x, y
real, intent(out) :: res
res = x + y
end subroutine sumar
end program suma_valores
Salida:
La suma de 5.0 y 3.0 es: 8.0
intent(in)
: Indica que el parámetro es de solo entrada.
intent(out)
: Indica que el parámetro es de solo salida.
program operaciones
real :: num1, num2, suma, producto
num1 = 2.0
num2 = 4.0
call calcular(num1, num2, suma, producto)
print *, "Suma:", suma, ", Producto:", producto
contains
subroutine calcular(x, y, sum, prod)
real, intent(in) :: x, y
real, intent(out) :: sum, prod
sum = x + y
prod = x * y
end subroutine calcular
end program operaciones
Salida:
Suma: 6.0 , Producto: 8.0
Para más detalles, consulta la documentación oficial de Fortran.
Jorge García
Fullstack developer