PROGRAM TEST_AV_COMMON ! Detta program innehåller ett huvudprogram, en subrutin ! och en funktion samt utnyttjar ett blankt COMMON och ett ! namnat COMMON, vars variabler getts värden i BLOCK DATA BD1. IMPLICIT NONE REAL :: A, B, C, D, E, F REAL, EXTERNAL :: FUN COMMON A, B COMMON /BLOCK1/ C, D WRITE(*,*) ' Början av programmet TEST_AV_COMMON' CALL SUB1(A, B) E = A + B F = FUN(A+C) WRITE(*,*) ' E = ', E, ' F = ', F WRITE(*,*) ' Slutet av programmet TEST_AV_COMMON' END PROGRAM TEST_AV_COMMON BLOCK DATA BD1 IMPLICIT NONE REAL :: C, D COMMON /BLOCK1/ C, D DATA C, D / 1.0, 19.0 / END BLOCK DATA BD1 SUBROUTINE SUB1(X, Y) IMPLICIT NONE REAL :: A, B, C, D, X, Y COMMON A, B COMMON /BLOCK1/ C, D 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) IMPLICIT NONE REAL :: A, B, C, D, X COMMON A, B COMMON /BLOCK1/ C, D FUN = X + D END FUNCTION FUN