# Question: Additional Statements in Procedures

February 19 2013 by
false
Maple 16

1

Thanks very much for your help!
So I've done this so far:

Marks:=proc(m::nonnegative, numeric)if m < 40 then print (m, Fail)elif m < 50 then print (m, Third Class)elif m < 60 then print (m, Lower Second Class)elif m < 70 then print (m, Upper Second Class)elif m < 100 then print (m, First Class)elif m > 100 then print (error)end if;end proc;proc(m::nonnegative, numeric)  ...  end;Marks(30);                            30, FailMarks(40.9);                       40.9, Third ClassMarks(One);Error, invalid input: Marks expects its 1st argument, m, to be of type
nonnegative and numeric, but received OneThe error above shows that the procedure understood that numeric
 values were the only values to be considered therefore showed an error.Marks(-3);Error, invalid input: Marks expects its 1st argument, m, to be of type
 nonnegative and numeric, but received -3Again, another example to show that this particular procedure will only
 take nonnegative and numeric numbers.Marks(59.8);                    59.8, Lower Second ClassMarks(101);                            error

Not quite sure how to do this part:
If the mark is within 3 marks of the interval’s upper bound, a statement
should be added indicating that the grade is ‘borderline’.