procedure TForm1.Button_CalcClick(Sender: TObject);
var A, An, Ak, h, B, Bn, Bk, h, X, Y: real;
Begin
// Уведення вихідних даних
An:=StrToFloat(Edit_An.Text);
Ak:=StrToFloat(Edit_Ak.Text);
hA:=StrToFloat(Edit_hA.Text);
Bn:=StrToFloat(Edit_Bn.Text);
Bk:=StrToFloat(Edit_Bk.Text);
hB:=StrToFloat(Edit_hB.Text);
A:=An;
while (A<=Ak) do // початок циклу по А
Begin
B:=Bn;
while (B<=Bk) do // початок циклу по В
Begin
if (A+B+1<=1E-10) then //перевірка умовиA+B+1=0
Begin
Memo1.lines.Add('A = '+FormatFloat('##0.0',A)+
' B = '+FormatFloat('##0.0',B)+
' X не визнач.'+
' Y не визнач.');
B:=B+hB;
CONTINUE
end;
X:=40*LN(A+B+1);
if (X>=5) then
if (abs(B)<1E-10) then // перевірка В=0
Begin
Memo1.lines.Add('A = '+FormatFloat('##0.0',A)+
' B = '+FormatFloat('##0.0',B)+
' X = '+FormatFloat('##0.0',X)+
' Y не визнач.');
B:=B+hB;
CONTINUE
End
else Y:=(X-5)/B+sqrt(A*A+X*X)
else Y:=(X-A)/sqrt(X*X+1);
Memo1.lines.Add('A = '+FormatFloat('##0.0',A)+
' B = '+FormatFloat('##0.0',B)+
' X = '+FormatFloat('##0.0',X)+
' Y = '+FormatFloat('##0.0',Y));
B:=B+hВ;
end; // кінець циклу по B
A:=A+hА;
end; // кінець циклу по A
end;