P55.F90

Printing a simple histogram


!
! =====> Program - P55.F90
!
      CHARACTER (LEN=3) :: MONTH(12)
      CHARACTER (LEN=1) :: S(30)
      INTEGER  UNITS(12)
      REAL     SALES(12)
!
!
      PRINT *, 'This is Program >> P55  - Print a simple Histogram'
!
!     Tell program where data for  READ   is coming from
      OPEN(UNIT=5, FILE='P55.DAT')      ! UNIT=5 is the default input
!
!
L1:   DO I=1, 12
         READ 15,MONTH(I),UNITS(I),SALES(I)
      END DO L1
   15 FORMAT(A3,I7,F5.1)
!
L2:   DO I=1,30
         S(I)='*'
      END DO L2
!
      PRINT 100
  100 FORMAT('1MONTH UNITS SOLD'/)
L3:   DO I=1,12
         JJ=(UNITS(I)-590)/10
         PRINT 30,MONTH(I),(S(K),K=1,JJ)
   30    FORMAT(2X,A3,2X,30A1)
      END DO L3
!
      PRINT 101
  101 FORMAT(/'MONTH SALES'/)
L4:      DO I=1,12
         JJ=SALES(I)*5
         PRINT 30,MONTH(I),(S(K),K=1,JJ)
      END DO L4
!
      STOP
      END

DATA:
JAN    672 3.4
FEB    609 3.2
MAR    715 3.7
APR    803 4.2
MAY    810 4.8
JUN    831 5.1
JUL    829 5.1
AUG    727 5.1
SEP    780 4.3
OCT    703 3.9
NOV    791 4.2
DEC    783 3.6

OUTPUT:
Program entered
 This is Program >> P55  - Print a simple Histogram
MONTH UNITS SOLD

  JAN  ********
  FEB  *
  MAR  ************
  APR  *********************
  MAY  **********************
  JUN  ************************
  JUL  ***********************
  AUG  *************
  SEP  *******************
  OCT  ***********
  NOV  ********************
  DEC  *******************

MONTH SALES

  JAN  *****************
  FEB  ****************
  MAR  ******************
  APR  ********************
  MAY  ************************
  JUN  *************************
  JUL  *************************
  AUG  *************************
  SEP  *********************
  OCT  *******************
  NOV  ********************
  DEC  *****************
Fortran-90 STOP

Come back to the previous page

Page builder: Charles Boivin

Last modified: 11/07/95