!
PROGRAM P53
!
IMPLICIT NONE
INTEGER :: I,J,K,UNITS(12),UQ(4)
REAL :: SALES(12),SQ(4)
!
!
PRINT *, 'This is Program >> P53 - Four quarter in a year'
!
! Tell program where data for READ is coming from
OPEN(UNIT=5, FILE='P53.DAT') ! UNIT=5 is the default input
!
!
L1: DO I=1,12
READ 15,UNITS(I),SALES(I)
END DO L1
15 FORMAT(I3,F5.1)
!
! FORM 4 QUARTER TOTALS
!
I=0
L2: DO J=1,4 ! Four quarters
UQ(J)=0 ! J points to each quarter in turn
SQ(J)=0
L3: DO K=1,3 ! Each with three months
I=I+1 ! Month pointer I goes from 1 to 12
UQ(J)=UQ(J)+UNITS(I)
SQ(J)=SQ(J)+SALES(I)
END DO L3
END DO L2
!
! OUTPUT RESULTS
!
PRINT 30,UQ ! Prints out complete array
PRINT 31,SQ ! All four values printed
30 FORMAT(' CARS SOLD BY QUARTER ', 4I8)
31 FORMAT(' SALES BY QUARTER ', 4F8.1)
STOP
END PROGRAM P53
DATA:
672 3.4 609 3.2 715 3.7 803 4.2 810 4.8 831 5.1 829 5.1 727 5.1 780 4.3 703 3.9 791 4.2 783 3.6OUTPUT:
+--------------------------------------------------+
| 32-bit Power for Lahey Computer Systems |
| Phar Lap's 386|DOS-Extender(tm) Version 7.0 |
| Copyright (C) 1986-94 Phar Lap Software, Inc. |
| Available Memory = 14880 Kb |
+--------------------------------------------------+
This is Program >> P53 - Four quarter in a year
CARS SOLD BY QUARTER 1996 2444 2336 2277
SALES BY QUARTER 10.3 14.1 14.5 11.7
{$G256}
{$P512}
{$D+}
PROGRAM p53 ( input, output );
VAR
month : ARRAY[1..12] OF string[3];
units : ARRAY[1..12] OF INTEGER;
uq : ARRAY[1..4] OF INTEGER;
sales : ARRAY[1..12] OF REAL;
dq : ARRAY[1..4] OF REAL;
i, j, k : INTEGER;
BEGIN
FOR i := 1 TO 12 DO
readln (month[i], units[i], sales[i]);
{
Form 4 quarter totals
}
i := 0;
FOR j := 1 TO 4 DO
BEGIN
uq[j] := 0;
dq[j] := 0;
FOR k := 1 TO 3 DO
BEGIN
i := i + 1;
uq[j] := uq[j] + units[i];
dq[j] := dq[j] + sales[i]
END { end for }
END; { end for }
writeln ( ' cars sold by quarter ', uq[1]:5, uq[2]:5, uq[3]:5, uq[4]:5 );
writeln ( ' sales by quarter ', dq[1]:5, dq[2]:5, dq[3]:5, dq[4]:5 )
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
Last modified: 22/07/97