1. An apparatus for assisting a patient having diabetes mellitus in controlling blood glucose, said apparatus comprising: a) an input means for entering a blood glucose value G(t d ) representative of a blood glucose concentration of the patient at time t d and for entering an insulin dose value I k representative of an insulin dose administered to the patient prior to time t d ; b) a memory means for storing an insulin sensitivity value representative of an insulin sensitivity of the patient and for storing information for determining an insulin action value F k (2 d ) representative of a fraction of insulin action remaining at time t d from said insulin dose; c) a processor connected to said input means and said memory means for determining said insulin action value F k (t d ) and for determining a future blood glucose value G(t j ) representative of an expected blood glucose concentration of the patient at time t j , wherein said processor determines said future blood glucose value G(t j ) in dependence upon said blood glucose value G(t d ), said insulin dose value I k , said insulin sensitivity value, and said insulin action value F k (t d ); d) an interpolation formula to calculate the insulin action value F k (t d ) programmed into the processor, the formula to calculate the insulin action value comprising 
 F k (t d )=Y 0 +((Z k −X 0 )(Y 1 −Y 0 )/(X 1 −X 0 )) wherein X 0 represents an initial insulin dose, Y 0 represents an insulin action value at initial dose X 0 , X 1 represents a following insulin dose, Y 1 represents an insulin action value at following insulin dose X 1 , and Z k represents time after injection of insulin dose I k at time t d ; e) a formula to calculate the future blood glucose value G(t j ) programmed into the processor, the formula to calculate the food glucose value comprising: G ⁡ ( t j ) = G ⁡ ( t d ) - S ⁡ [ ∑ N k = 1 ⁢ I k ⁢ F k ⁡ ( t d ) - F k ⁡ ( t j ) ] wherein S represents insulin sensitivity values, I k represents insulin dose values administered prior to time t d , and F k (t j ) represents insulin action values at time (t j ), k=1 represents a single insulin bolus dose and a supplemental insulin bolus dose, and N represents the total number of insulin bolus doses and supplemental insulin bolus doses; and f) a display means connected to said processor for displaying said future blood glucose value G(t j ), thereby enabling the patient to take timely corrective action to prevent hypoglycemia or hyperglycemia.