resueltos programas programación problemas ejemplos descargar comandos fortran fortran90

programas - problemas resueltos de programación en fortran 95 pdf



Uso de las funciones de declaración Fortran (1)

C = 5.0*(F - 32.0)/9.0

es solo asignación a una variable C , puede estar en cualquier lugar y se evalúa una vez cada vez que el flujo del programa llega a ella.

C(F) = 5.0*(F - 32.0)/9.0

es una función de declaración, y puede evaluarse cada vez que está en el alcance, por ejemplo, C(100) que devuelve aproximadamente 37.8 .

De algún código

xx(i) = dx*i f(a) = a*a do i = 1, nx x = xx(i) print *, f(x) end do

La f(x) en la declaración de impresión se evalúa con cada nuevo valor de x arroja un nuevo valor. El valor de x también es el resultado de la evaluación de la función de declaración xx en la línea anterior.

Pero las funciones de declaración están ahora (en Fortran 95) declaradas obsoletas. Es mejor utilizar las funciones internas en cualquier código nuevo. P.ej,

program p implicit none !declarations of variables x, i, nx, dx do i = 1, nx x = xx(i) print *, f(x) end do contains real function xx(i) integer, intent(in) :: i xx = dx*i end function real function f(a) real, intent(in) :: a f = a*a end function end program

Leí sobre funciones de declaración, como el ejemplo:

C(F) = 5.0*(F - 32.0)/9.0

¿No es esto lo mismo que:

C = 5.0*(F - 32.0)/9.0

es decir, sin la parte de la función, o tal vez me falta algo?

Si no son lo mismo, ¿cuándo necesito usar una función de declaración?