Другие языки программирования и технологии

может помочь мне написать программу на VBA? Благодарность не меньше 200р. Решение кубических уравнений!!!

пиши в агент
Богдан Носов
Богдан Носов
20 735
Лучший ответ
Вот доработай (нужно сделать проверку, что на выбранном участке есть корень, т. е. функция на концах интервала имеет разные знаки) . Это только метод уточнения. Участок локализации (интервал существования корня) не имеет отношения к численному методу половинного деления. Это просто перебор значений функции и проверка смены знака от.. . и до.. . с заданым шагом, пока не произойдет смена значений функции.
Sub iter()
Dim x, xn, xk, h As Double
'Задаем начальные значения
xn = CDbl(InputBox("Начальное значение"))
xk = CDbl(InputBox("Конечное значение"))
Dim a, b, c, d As Double
'Это коэффициенты уравнения
a = 1: b = 0: c = 0: d = 1
h = 0.01
If xn > xk Then
MsgBox "Не верно задан участок локализации корня"
Exit Sub
End If

newiter:
x = (xn + xk) / 2
y = a * x ^ 3 + b * x ^ 2 + c * x + d
If Abs(xk - xn) > h Then
If a * xn ^ 3 + b * xn ^ 2 + c * xn + d < 0 Then
If y < 0 Then
xn = x
Else
xk = x
End If
Else
If y > 0 Then
xn = x
Else
xk = x
End If
End If
DoEvents
GoTo newiter
End If
MsgBox x
End Sub
Олег Байрамов
Олег Байрамов
6 640