Также были предусмотрены некоторые исключительные ситуации:. Для квадратного корня не была учтена область допустимых значений. А также для операции "деление" не было учтено деление на "0". Для устранения данной ошибки преобразован оператор case:
caseCurrentFuncof
…
'/': begin if stemp=0 then begin res: =0; outtextxy (450,65,'false'); end else if SParam<>'0'then begin Res: =FTemp/STemp;; end;
'√': begin if ftemp <0 then begin res: =0; outtextxy (450,65,'false'); end else Res: =sqrt (Ftemp); end;