![]() |
||||||||
![]() |
![]() |
![]() |
![]() |
|||||
![]() |
||||||||
![]() |
||||||||
![]() |
![]() |
|||||||
![]() |
||||||||
![]() |
||||||||
![]() |
||||||||
![]() |
||||||||
![]() |
||||||||
FORTRAN 90+: SCOPE OF VARIABLES EXAMPLES
It is recommended to look at the numerical methods codes where the use of variables is demonstrated. An additional example is included here.
PROGRAM SCOPE
IMPLICIT NONE
INTEGER :: a=5,b=6,c=10, i=20
WRITE(*,*) SUM(a,b)
WRITE(*,*) MUL(a)
WRITE(*,*) FACTORIAL(c)
WRITE(*,’(SS,4(I2 /))’) a,b,c,i
!The values of ’a’ ’b’ ’i’ and ’c’ are still
!a=5 b=6 c=10 i=20 at the end of the program
CONTAINS
INTEGER FUNCTION sum(in1,in2)
IMPLICIT NONE
INTEGER, INTENT(IN) :: in1, in2
sum= in1+in2
END FUNCTION sum
!The values of ’in1’ and ’in2’ only apply here
!(Local variables) and nowhere else. If used
!outside of this function, there would be an error.
INTEGER FUNCTION mul(a)
IMPLICIT NONE
INTEGER, INTENT(IN) :: a
mul= a*b
END FUNCTION mul
!Because ’b’ is a global variable, the programmer
!did not have to declare it again because ’b’
!already exists in the program
INTEGER FUNCTION factorial(c)
IMPLICIT NONE
INTEGER, INTENT(IN) :: c
INTEGER :: i,fact
fact=1
IF (c==0 .OR. c==1) THEN
factorial=1
ELSE
DO i=c,1,-1
fact= fact*i
factorial=fact
END DO
END IF
END FUNCTION factorial
!despite already existing with a different value, ’i’
!can be used as a new variable here without affecting
!the value of ’i’ in the main program unit
END PROGRAM SCOPE













