--------------------------- -- Math Package -- October 18, 2002 -- Malia Kilpinen -- 16.35 Problem Set 2 Example Solution --------------------------- package body Math_Functions is ------------------------------------------------------- -- N! -- calculates factorial of integer -- Inputs: n as an integer. assumes n is >= zero. -- Returns: n! ------------------------------------------------------- function N_Factorial ( N : Integer ) return Integer is -- declare return value Answer : Integer; begin Answer := 1; -- begin calculation of n! for Count in 1..N loop Answer:=Answer*Count; end loop; return(Answer); end N_Factorial; ------------------------------------------------------- -- Max_Number -- finds larger of two floats -- Input: Two floats. assumes inputs are floats. -- Returns: A float -------------------------------------------------------- function Max_Value ( Num1, Num2 : Float ) return Float is -- declare return value Maxvalue : Float; begin if Num1 > Num2 then Maxvalue:= Num1; else Maxvalue:= Num2; end if; return Maxvalue; end Max_Value; -------------------------------------------------------- -- Add_Integers -- Add two integers and return sum -- Input: Two integers. assumes inputs are integers -- Returns: The sum (an integer) -------------------------------------------------------- function Add_Integers ( Num1, Num2 : Integer ) return Integer is -- declare return value Sum : Integer; begin--add_integers Sum := Num1 + Num2; return Sum; end Add_Integers; end Math_Functions;