1 mark for each point:
MP1 Conditional statement to identify when a bus is late (punctuality
< 0)
MP2 Count the number of late days for at least one bus route
MP3 Total the late minutes for at least one bus route
MP4 Calculation of average minutes late
1 mark for each point (max three points):
MP5 Initialisation of counting/totalling variables
MP6 Iteration through days
MP7 Checking all buses?
MP8 Count late days and total minutes for all bus routes
MP9 Output of number of late arrivals or average minutes late for at
least one bus route?
MP10 Output complete with all bus routes with late arrivals and
average minutes late, with appropriate messages
Example algorithm on next page
Example algorithm
CountA ← 0; CountB ← 0; CountC ← 0; CountD ← 0;
CountE ← 0; CountF ← 0
TotalA ← 0; TotalB ← 0; TotalC ← 0; TotalD ← 0;
TotalE ← 0; TotalF ← 0
FOR Days ← 0 to 19
IF BusA[Days] < 0
THEN
CountA ← CountA + 1
TotalA ← TotalA + BusA[Days]
ENDIF
IF BusB[Days] < 0
THEN
CountB ← CountB + 1
TotalB ← TotalB + BusBA[Days]
ENDIF
IF BusC[Days] < 0
THEN
CountC ← CountC + 1
TotalC ← TotalC + BusC[Days]
ENDIF
IF BusD[Days] < 0
THEN
CountD ← CountD + 1
TotalD ← TotalD + BusD[Days]
ENDIF
IF BusE[Days] < 0
THEN
CountE ← CountE + 1
TotalE ← TotalE + BusE[Days]
ENDIF
IF BusF[Days] < 0
THEN
CountF ← CountF + 1
TotalF ← TotalF + BusF[Days]
ENDIF
NEXT
PRINT "The number of late days for each bus route are:
Bus A "CountA", Bus B "CountB", Bus C "CountC", Bus D ",
CountD", Bus E ", CountE", Bus F "CountF
PRINT "The average number of minutes late for each route
are: Bus A "TotalA/20", Bus B "TotalB/20", Bus C
"TotalC/20", Bus D ", TotalD/20", Bus E ", TotalE/20",
Bus F "TotalF/20