! Detta program är en modernisering av programmet TEST_AV_COMMON ! som innehöll ett huvudprogram, en subrutin och en funktion samt ! utnyttjade ett blankt COMMON och ett namnat COMMON, vars variabler ! getts värden i BLOCK DATA BD1. ! I denna version har COMMON-variablerna flyttats till en modul MD1. ! Vid kompilering bör modulen ligga först i filen! ! MODULE MD1 IMPLICIT NONE REAL :: A, B, C, D DATA C, D / 1.0, 19.0 / END MODULE MD1 PROGRAM TEST_AV_MODUL USE MD1 IMPLICIT NONE REAL :: E, F REAL, EXTERNAL :: FUN WRITE(*,*) ' Början av programmet TEST_AV_MODUL' CALL SUB1(A, B) E = A + B F = FUN(A+C) WRITE(*,*) ' E = ', E, ' F = ', F WRITE(*,*) ' Slutet av programmet TEST_AV_MODUL' END PROGRAM TEST_AV_MODUL SUBROUTINE SUB1(X, Y) USE MD1 IMPLICIT NONE REAL :: X, Y X = C Y = D WRITE(*,'(A)', ADVANCE='NO') ' Ge A = ' READ(*,*) A WRITE(*,'(A)', ADVANCE='NO') ' Ge B = ' READ(*,*) B END SUBROUTINE SUB1 REAL FUNCTION FUN(X) USE MD1 IMPLICIT NONE REAL :: X FUN = X + D END FUNCTION FUN