VBA.Нужно составить алгоритм расчета функции y=3x^2-6x+5 при x∈[-5;5] с шагом (h) равным 0.1. Я составил, но алгоритм не работает должным способом. Где ошибся? Sub Alg_1() Dim xN, xK, x As Integer Dim y, h As Single xN = -5 xK ...

VBA.Нужно составить алгоритм расчета функции y=3x^2-6x+5 при x∈[-5;5] с шагом (h) равным 0.1. Я составил, но алгоритм не работает должным способом. Где ошибся? Sub Alg_1() Dim xN, xK, x As Integer Dim y, h As Single xN = -5 xK = 5 h = 0.1 x = xN Do While x <= xK y = 3 * x ^ 2 - 6 * x + 5 MsgBox (y) x = x + h Loop End Sub
Гость
Ответ(ы) на вопрос:
Гость
Sub Alg_1()     xN = -5: xK = 5: h = 0.1     x = xN: i = 1     Do While x <= xK         y = 3 * x ^ 2 - 6 * x + 5         Cells(i, 1) = x: Cells(i, 2) = y         x = x + h: i = i + 1     Loop End Sub Во вложении файл с рабочей книгой MS Excel 2003. Макрос на листе 1. Теперь о Вашей ошибке Dim xN, xK, x As Integer Dim y, h As Single xN = -5 ... h = 0.1 x = xN ... x = x + h Такое описание означает, что xN, xK будут типа Variant, х - типа Integer. y тоже будет типа Variant, h - типа Single. При выполнении опeратора x=x+h целочисленное x сначала увеличится на 0.1, а затем дробная часть будет отброшена. Поэтому х постоянно будет равен xN и цикл станет бесконечным.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы