! PROGRAM P46 ! ! FACTORIAL N ! IMPLICIT NONE INTEGER :: I,N,FACT ! ! PRINT *, 'This is Program >> P46 - Factorial program' ! ! ! Tell program where data for READ * is coming from OPEN(UNIT=5, FILE='P46.DAT') ! UNIT=5 is the default input ! PRINT 1000 1000 FORMAT(' Factorial Program'/) L1: DO READ *,N IF(N < 0) STOP ! or EXIT in this case ! FACT=1 L2: DO I=2,N FACT=FACT*I END DO L2 ! PRINT 10,N,FACT 10 FORMAT(' Factorial',I3,' =',I8) ! END DO L1 STOP END PROGRAM P46