« "Final Calculator" { { "T1 " "Test 1" 0 } { "T2" "Test 2" 0 } { "T3" "Test 3" 0 } { "H" "Homework Quiz" 0 } { "G" "Grade" 0 } { "T#" "Number of Tests" 0 } } 3 { 0 0 0 100 70 1 } { 0 0 0 100 70 1 } INFORM IF THEN OBJ DROP « { } 0 0 t1 t2 t3 h g tn test f bool « { 0 1 2 3 } « x « x tn == » » DOLIST …LIST 'bool' STO IF bool NOT THEN "ERROR: The number of test must be 0,1,2,3" MSGBOX KILL END { 60 70 80 90 } « x « x g == » » DOLIST …LIST 'bool' STO IF bool NOT THEN "ERROR: The grade must be 60,70,80,90" MSGBOX KILL END IF t1 0 < t2 0 < t2 0 < OR OR THEN "ERROR: All test must be Š 0." MSGBOX KILL END t1 "Test 1" TAG t2 "Test 2" TAG t3 "Test 3" TAG t1 t2 t3 3 LIST SORT 'test' STO test OBJ DROP 't3' STO 't2' STO 't1' STO g 5 * 2 / t1 t2 t3 + + 3 / 5 * 4 / - h 4 / - 'f' STO CASE tn 0 == THEN f END tn 1 == THEN CASE t1 f < THEN g 30 * 17 / t2 t3 + 5 * 17 / - h 3 * 17 / - END f END END tn 2 == THEN IF t1 f < THEN IF t2 g 30 * 17 / t2 t3 + 5 * 17 / - h 3 * 17 / - < THEN g 15 * 11 / t3 5 * 22 / - h 3 * 22 / - ELSE g 30 * 17 / t2 t3 + 5 * 17 / - h 3 * 17 / - END ELSE f END END IF t1 f < THEN IF t2 g 30 * 17 / t2 t3 + 5 * 17 / - h 3 * 17 / - < THEN IF t3 g 15 * 11 / t3 5 * 22 / - h 3 * 22 / - < THEN g 10 * 9 / h 9 / - ELSE g 15 * 11 / t3 5 * 22 / - h 3 * 22 / - END ELSE g 30 * 17 / t2 t3 + 5 * 17 / - h 3 * 17 / - END ELSE g 5 * 2 / t1 t2 t3 + + 3 / 5 * 4 / - h 4 / - END END EVAL CEIL "FINAL(" g STR + ")Š" + TAG » » EVAL END »