Option Explicit Dim x As Double Dim y As Double Dim eps As Double Dim dx As Double Dim dy As Double Dim a1 As Double Dim a2 As Double Dim b1 As Double Dim b2 As Double Dim c1 As Double Dim c2 As Double Dim n As Double Function F1(x As Double, y As Double) As Double F1 = 'первая функция End Function Function F2(x As Double, y As Double) As Double F2 = 'вторая функция End Function Function dF1dx(x As Double, y As Double) As Double dF1dx = 'частная производная по X первой функции End Function Function dF2dx(x As Double, y As Double) As Double dF2dx = 'частная производная по X второй функции End Function Function dF1dy(x As Double, y As Double) As Double dF1dy = 'частная производная по Y первой функции End Function Function dF2dy(x As Double, y As Double) As Double dF2dy = 'частная производная по Y второй функции End Function Sub Calculate() a1 = dF1dx(x, y) a2 = dF2dx(x, y) b1 = dF1dy(x, y) b2 = dF2dy(x, y) c1 = -F1(x, y) c2 = -F2(x, y) dx = (b2 * c1 - b1 * c2) / (a1 * b2 - a2 * b1) dy = (a1 * c2 - a2 * c1) / (a1 * b2 - a2 * b1) End Sub Private Sub Command1_Click() x = InputBox("x") y = InputBox("y") eps = InputBox("eps") n = 0 Do n = n + 1 If n = 1000 Then Exit Do Calculate x = x + dx y = y + dy Loop Until Sqr(dx * dx + dy * dy) <= eps Print "Получено решение:" Print "x = "; x Print "y = "; y Print "F1(x,y) = "; F1(x, y) Print "F2(x,y) = "; F2(x, y) Print "Число итераций n="; n End Sub