home *** CD-ROM | disk | FTP | other *** search
- (*===================================================
-
- PROGRAM TITLE: Mileage Statistics
-
- AUTHOR: William E. Lewis
-
- ADAPATION BY: Charlie Foster, Aug 1981
-
- PROGRAM SUMMARY:
-
- This program processes Automobile odometer
- readings and gas consumptions. It has been adapated
- for Pascal/Z. The program terminates after the number
- of odometer readings have been processed. It computes
- Average miles per gallon, average miles between refills
- and average gallons between refills.
-
- ===================================================*)
-
- PROGRAM MileageStatistics;
-
- VAR
- TotalMiles, TotalGallons,
- NumReadings, CurrentReading,
- NextOdometerValue, OdometerValue,
- GallonsAdded : INTEGER;
-
- MilesGallon, AvgMilesGallon,
- AvMileRefill, AvgGallonsRefill : REAL;
-
- BEGIN
- TotalMiles := 0;
- TotalGallons := 0;
- WRITE ('Please enter the number of reading you want--> ');
- READLN (NumReadings);
- WRITELN;
- WRITE ('Please enter the first odometer reading--> ');
- READLN (OdometerValue);
- WRITELN;
- WRITELN ('Now enter the NEXT odometer reading and number ');
- WRITELN ('of gallons added. Do this ',NumReadings:2,' times.');
- WRITELN (' ':20,'============MILES PER GALLON============');
- FOR CurrentReading := 1 TO NumReadings DO
- BEGIN
- READ (NextOdometerValue, GallonsAdded);
- MilesGallon := (NextOdometerValue-OdometerValue) /
- Gallonsadded;
- WRITELN (' ':37,MilesGallon);
- TotalMiles := TotalMiles + (NextOdometerValue-
- OdometerValues);
- TotalGallons := TotalGallons + GallonsAdded;
- OdometerValue := NextOdometerValue;
- END; (* the FOR loop *)
- WRITELN (' ':20,'=======================================');
- AvgMilesGallon := TotalMiles / TotalGallons;
- WRITELN ('Your average miles per gallon = ',AvgMilesGallon);
- AvMileRefill := TotalMiles / NumReadings;
- WRITELN ('Your average miles per refill = ',AvMileRefill);
- AvgGallonsRefill := TotalGallons / NumReadings;
- WRITELN ('Your average gallons per refill = ',AvgGallonsRefill);
-
- END.
-