В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
Anasxon2004
Anasxon2004
07.03.2023 23:42 •  Информатика

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

Ответ:
НастяБлог
НастяБлог
04.10.2020 23:03
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 и цикл станет бесконечным.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?