Hi, I had a question about this program. I'm suppose to put the pressures in intervals. But everytime I read in multiple values, it outputs only the last value entered. I'm not allowed to use multiple variables for pressure, I only can use one and would have to do a loop to read in the values one by one. Can anyone tell me how I do that?
PROGRAM PRESSURES (INPUT, OUTPUT, DATA7, OUT7);
VAR N, PRESSURE, HIGH, LOW, TOTAL, ICOUNT, AVERAGE, INTERVAL,
PCOUNT: INTEGER;
DATA7, OUT7: TEXT;
(********************************************************************)
PROCEDURE ProcessPressures(VAR HIGH, PRESSURE, LOW, TOTAL, AVERAGE,
PCOUNT: INTEGER);
BEGIN
TOTAL:= 0;
PCOUNT:= 0;
HIGH:= -MAXINT;
LOW:= MAXINT;
WRITELN('ENTER PRESSURES:');
READ(PRESSURE);
WHILE NOT EOF DO
BEGIN
PCOUNT:= PCOUNT + 1;
TOTAL:= TOTAL + PCOUNT;
IF EOLN
THEN READLN;
IF NOT EOF
THEN READ(PRESSURE);
IF PRESSURE > HIGH
THEN HIGH:= PRESSURE;
IF PRESSURE < LOW
THEN LOW:= PRESSURE;
END;
AVERAGE:= TOTAL DIV PCOUNT;
END;
(*********************************************************************)
PROCEDURE PrintsSummaryResults(VAR INTERVAL, PRESSURE, HIGH, LOW,
AVERAGE: INTEGER);
BEGIN
WRITELN('NUMBER OF INTERVALS TO MONITOR: ', N);
WRITELN('******************************************************');
WRITELN('PROCESS 1 PRESSURE: ', PRESSURE);
WRITELN('PROCESS 2 PRESSURE: ', PRESSURE);
WRITELN('PROCESS 3 PRESSURE: ', PRESSURE);
WRITELN('PROCESS 4 PRESSURE: ', PRESSURE);
WRITELN('PROCESS 5 PRESSURE: ', PRESSURE);
WRITELN('PROCESS 6 PRESSURE: ', PRESSURE);
IF HIGH > 5000
THEN WRITELN('DANGER! OVERPRESSURE OF ', HIGH);
IF LOW < 14
THEN WRITELN('DANGER! VACUUM OF ', LOW);
WRITELN('HIGH PRESSURE IS ', HIGH);
WRITELN('LOW PRESSURE IS ', LOW);
WRITELN('AVERAGE PRESSURE IS ', AVERAGE);
WRITELN('******************************************************');
END;
(**********************************************************************)
BEGIN
RESET(DATA7);
REWRITE(OUT7);
WRITE('ENTER NUMBER OF INTERVALS:');
READ(N);
ICOUNT:= 0;
WHILE NOT EOF DO
BEGIN
ProcessPressures(HIGH, PRESSURE, LOW, AVERAGE, TOTAL, PCOUNT);
PrintsSummaryResults(INTERVAL, PRESSURE, HIGH, LOW, AVERAGE);
ICOUNT:= ICOUNT + 1
END;
END.