! ***** ACSL
Problem #1 Senior Division *****
! ***** Mason Albright *****
DIM
start_time_input$(7), end_time_input$(7), start_time(7), end_time(7)
DO
! *** Gathering Input ***
PRINT
INPUT prompt "Input: ":location, start_time_input$(1),
end_time_input$(1), start_time_input$(2), end_time_input$(2),
start_time_input$(3), end_time_input$(3), start_time_input$(4),
end_time_input$(4), start_time_input$(5), end_time_input$(5),
start_time_input$(6), end_time_input$(6), start_time_input$(7),
end_time_input$(7)
! *** Converting Time Inputs to Usable Data
***
FOR i = 1 to 7
IF ord(trim$(start_time_input$(i)))
>= 48 and ord(trim$(start_time_input$(i))) <= 57 then
LET start_time(i) =
(val(trim$(start_time_input$(i))))/2+8.5
ELSE
LET start_time(i) =
(ord(trim$(start_time_input$(i)))-55)/2+8.5
END IF
IF ord(trim$(end_time_input$(i))) >=
48 and ord(trim$(end_time_input$(i))) <= 57 then
LET end_time(i) = (val(trim$(end_time_input$(i))))/2+8.5
ELSE
LET end_time(i) =
(ord(trim$(end_time_input$(i)))-55)/2+8.5
END IF
NEXT i
! ***
LET pay = 0
LET hours = 0
FOR i = 1 to 7
LET hours =
hours+end_time(i)-start_time(i)
NEXT i
IF location < 200 then
! *** Calculating Pay for Locations
100-199 ***
IF hours <= 30 then
LET pay = pay+10*hours
ELSE
LET pay = pay+300+15*(hours-30)
END IF
! ***
ELSE IF location < 300 then
!
*** Calculating Pay for Locations 200-299 ***
IF hours <= 40 then
LET pay = pay+7.5*hours
ELSE
LET pay = pay+300+15*(hours-40)
END IF
! ***
ELSE IF location < 400 then
! *** Calculating Pay for Locations
300-399 ***
IF hours <= 20 then
LET pay = pay+9.25*hours
ELSE
LET pay = pay+185+10.5*(hours-20)
END IF
! ***
ELSE IF location < 500 then
! *** Calculating Pay for Locations
400-499 ***
FOR i = 1 to 7
IF mod(7,i) = 0 then
LET pay =
pay+13.5*(end_time(i)-start_time(i))
ELSE
LET pay =
pay+6.75*(end_time(i)-start_time(i))
END IF
NEXT i
! ***
ELSE
! *** Calculating Pay for Locations
500-599 ***
FOR i = 1 to 7
IF end_time(i)-start_time(i) <= 6
then
LET pay =
pay+8*(end_time(i)-start_time(i))
ELSE
LET pay = pay+48+12*(end_time(i)-start_time(i)-6)
END IF
NEXT i
! ***
END IF
! *** Printing the Output ***
PRINT
PRINT "Output: ";
PRINT
"$";trim$(using$("#####.##",round(pay,2)))
PRINT
! ***
LOOP
END