program SpeedTracker; uses sysutils; var time1, time2: string; distance: integer; function getDifference (stringPos, maxValue: integer; var carry: integer; t1, t2: string): integer; var tempDiff: integer; begin tempDiff := strtoint(copy(t2, stringPos, 2)) - strtoint(copy(t1, stringPos, 2)) - carry; carry := 0; if tempDiff < 0 then begin carry := (abs(tempDiff) div maxValue) + 1; tempDiff := maxValue + tempDiff; end; getDifference := tempDiff; end; function getAverageSpeed (t1, t2: string; dist: integer): integer; var carry: integer; timeDifference: real; begin carry := 0; timeDifference := getDifference(7, 60, carry, t1, t2) / 3600 + getDifference(4, 60, carry, t1, t2) / 60 + getDifference(1, 24, carry, t1, t2); getAverageSpeed := round(dist / timeDifference); end; begin write('Enter camera 1 time (HH:MM:SS): '); readln(time1); write('Enter camera 2 time (HH:MM:SS): '); readln(time2); write('Enter distance between cameras (miles): '); readln(distance); writeln('Average Speed: ', inttostr(getAverageSpeed(time1, time2, distance))); readln; end.
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more