PROGRAM 23
PROGRAM TEMPERATURE (INPUT, OUTPUT, FILEVAR); {ANTHONY F. ORITZ, ASSIGNMENT 8, JULY 18, 1994} {THIS PROGRAM COMPUTES AND PRINTS THE AVERAGE TEMPERATURE GIVEN X NUMBER OF TEMPERATURE READINGS.} USES CRT; CONST NUMHRS = 24; VAR TEMP, HIGH, LOW, SUM, COUNTER: INTEGER; AVERAGE: REAL; FILEVAR: TEXT; PROCEDURE OPENFILE; BEGIN ASSIGN (FILEVAR, 'A:\NEWTEMP.DAT'); RESET (FILEVAR); END; PROCEDURE INITIALIZE; BEGIN READ (FILEVAR, TEMP); WRITE (TEMP:8); SUM := TEMP; COUNTER := 0; LOW := TEMP; HIGH := TEMP; END; FUNCTION MOREDATA: BOOLEAN; BEGIN MOREDATA := NOT EOF (FILEVAR); END; FUNCTION MORENUMS: BOOLEAN; BEGIN MORENUMS := NOT EOF (FILEVAR); END; PROCEDURE GETTEMP; BEGIN READ (FILEVAR, TEMP); WRITE (TEMP:8); END; PROCEDURE ACCUMULATETEMP; BEGIN SUM := SUM + TEMP; COUNTER := COUNTER + 1; END; PROCEDURE TESTFORHILO; BEGIN IF TEMP < LOW THEN LOW := TEMP; IF TEMP > HIGH THEN HIGH := TEMP; END; PROCEDURE CALCULATEAVERAGE; BEGIN AVERAGE := SUM / COUNTER; END; PROCEDURE PRINTRESULTS; BEGIN WRITELN ('NUMBER OF TEMPERATURES = ', COUNTER); WRITELN ('AVERAGE TEMPERATURE = ', AVERAGE:6:2); WRITELN ('HIGH TEMPERATURE = ', HIGH); WRITELN ('LOW TEMPERATURE = ', LOW); WRITELN; WRITE ('PRESS ENTER KEY TO CONTINUE. '); READLN; END; PROCEDURE PAUSE; BEGIN WRITELN; WRITELN; WRITE ('PRESS ENTER KEY TO SEE THE COUNT, AVERAGE, HIGH, AND LOW OF THE TEMPERATURES. '); READLN; END; PROCEDURE CLOSEFILE; BEGIN CLOSE (FILEVAR); END; BEGIN CLRSCR; OPENFILE; INITIALIZE; WHILE MOREDATA DO WHILE MORENUMS DO BEGIN GETTEMP; TESTFORHILO; ACCUMULATETEMP; CALCULATEAVERAGE; END; PAUSE; CLRSCR; PRINTRESULTS; CLOSEFILE; END. { DATA FILE: NEWTEMP.DAT } 20 24 41 65 13 52 -1 20 15 3 9 23 80 87 29 42 76 78 105 5 72 57 101 61 110 0 78 17 46 8 -2 90 99 81 66 63 71 23 106 77 13 100 46 52 30 13 24 59 - 47 86 15 73 63 104 39 79 90 7 28 39 4 11 39 107 54 55 72 5 19 -5 87 86 87 72 96 1 18 5 87 64 14 94 8 8 22 88 64 61 45 -8 81 17 89 87 33 53 8 109 64 110 30 19 36 19 75 110 4 50 -4 46 20 99 46 23 20 24 4 65 13 52 -1 20 115 37 9 -15 2 80 87 29 42 76 78 105 58 72 5 101 61 110 0 78 17 46 87 -2 9 99 81 66 63 71 23 106 8 77 1 100 46 52 30 13 24 59 -4 47 7 18 107 -1 66 41 14 66 68 44 9 54 28 -5 55 69 -3 31 44 42 6 100 62 102 103 82 43 30 107 28 7 25 79 -9 49 44 -3 80 72 104 17 -2 66 23 7 45 47 11 25 8 87 108 107 0 { OUTFILE: PROG23.OUT } 20 24 41 65 13 52 -1 20 15 3 9 23 80 87 29 42 76 78 105 5 72 57 101 61 110 0 78 17 46 8 -2 90 99 81 66 63 71 23 106 77 13 100 46 52 30 13 24 59 - 47 86 15 73 63 104 39 79 90 7 28 39 4 11 39 107 54 55 72 5 19 -5 87 86 87 72 96 1 18 5 87 64 14 94 8 8 22 88 64 61 45 -8 81 17 89 87 33 53 8 109 64 110 30 19 36 19 75 110 4 50 -4 46 20 99 46 23 20 24 4 65 13 52 -1 20 115 37 9 -15 2 80 87 29 42 76 78 105 58 72 5 101 61 110 0 78 17 46 87 -2 9 99 81 66 63 71 23 106 8 77 1 100 46 52 30 13 24 59 -4 47 7 18 107 -1 66 41 14 66 68 44 9 54 28 -5 55 69 -3 31 44 42 6 100 62 102 103 82 43 30 107 28 7 25 79 -9 49 44 -3 80 72 104 17 -2 66 23 7 45 47 11 25 8 87 108 107 0 PRESS ENTER KEY TO SEE THE COUNT, AVERAGE, HIGH, AND LOW OF THE TEMPERATURES. NUMBER OF TEMPERATURES = 223 AVERAGE TEMPERATURE = 51.56 HIGH TEMPERATURE = 115 LOW TEMPERATURE = -15 PRESS ENTER KEY TO CONTINUE.
BACK TO COMP151 PAGE.