PROGRAM enumerated_types; TYPE days = (mon,tue,wed,thu,fri,sat,sun); time_of_day = (morning,afternoon,evening,night); VAR day : days; time : time_of_day; regular_rate : REAL; evening_premium : REAL; night_premium : REAL; weekend_premium : REAL; total_pay : REAL; BEGIN (* main program *) WRITELN('Pay rate table':33); WRITELN; WRITE(' DAY Morning Afternoon'); WRITELN(' Evening Night'); WRITELN; regular_rate := 12.00; (* This is the normal pay rate *) evening_premium := 1.10; (* 10 percent extra for working late *) night_premium := 1.33; (* 33 percent extra for graveyard *) weekend_premium := 1.25; (* 25 percent extra for weekends *) FOR day := mon TO sun DO BEGIN CASE day OF mon : WRITE('Monday '); tue : WRITE('Tuesday '); wed : WRITE('Wednesday'); thu : WRITE('Thursday '); fri : WRITE('Friday '); sat : WRITE('Saturday '); sun : WRITE('Sunday '); END; (* of CASE statement *) FOR time := morning TO night DO BEGIN CASE time OF morning : total_pay := regular_rate; afternoon : total_pay := regular_rate; evening : total_pay := regular_rate * evening_premium; night : total_pay := regular_rate * night_premium; END; (* of CASE statement *) CASE day OF sat : total_pay := total_pay * weekend_premium; sun : total_pay := total_pay * weekend_premium; END; (* of CASE statement *) WRITE(total_pay:10:2); END; (* of "time" loop *) WRITELN; END; (* of FOR loop *) END. (* of main program *)