Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Табулирование функции






Табулирование функции – это вычисление значений функции для некоторого набора значений аргумента.

Пример 5.1. Выполнить табулирование функции y=2x(x+b) для переменной x, значение которой изменяется от начального до конечного значения с постоянным положительным шагом.

Результаты вычисления вывести на рабочий лист Excel.

Таблица соответствия переменных

Обозначение в задании Имя переменной Тип переменной Комментарий
y y вещественный Результат. Значение функции
x x вещественный Текущее значение аргумента функции
b b вещественный Исходное данное. Числовая константа
Начальное значение x XN вещественный Исходное данное
Конечное значение x XK вещественный Исходное данное
Шаг изменения значения x DX вещественный Исходное данное(> 0)
  N целый Номер итерации вычисления

Анализ исходных данных:

Имя переменной Недопустимое значение Ситуация
XN, XK XN> XK Ввод данных
DX £ 0 Ввод данных

Вводимые значения переменных XN, XK и DX удобно проверять с помощью следующего логического выражения

(XK< =XN) Or (DX< =0)

Очевидно, что если это выражение истинно, то введенные данные некорректны.

Графическая схема алгоритма представлена на рис.5.2, результаты тестирования программы – на рис.5.3.

Sub Pr5_1()

Dim y As Single, x As Single, b As Single

Dim XN As Single, XK As Single, DX As Single

Dim N As Byte

'Ввод исходных данных

b = InputBox(" Введи значение b")

XN = InputBox(" Введи начальное значение х")

XK = InputBox(" Введи конечное значение х")

DX = InputBox(" Введи шаг изменения х")

'Проверка исходных данных

If (XK< =XN) Or (DX< =0) Then

Cells(1, 1) = " Введены некорректные данные: "

Cells(2, 1) = " XN=" & CStr(XN)

Cells(3, 1) = " XK=" & CStr(XK)

Cells(4, 1) = " DX=" & CStr(DX)

Else

'Выполнение расчетов и вывод результатов

Cells(1, 1) = " №"

Cells(1, 2) = " x"

Cells(1, 3) = " y"

N = 1

x = XN

While x < = XK

y = 2 * x * (x + b)

Cells(1 + N, 1) = N

Cells(1 + N, 2) = x

Cells(1 + N, 3) = y

N = N + 1

x = x + DX

Wend

Cells(1 + N + 1, 1) = " При b=" & CStr(b)

End If

End Sub

 

 

Пример 5.2. Выполнить табулирование функции

для переменной x, значение которой изменяется от начального до конечного значения с постоянным положительным шагом.

Результаты вычисления вывести в Excel. Вывести номер формулы вычисления.

 

Таблица соответствия переменных

Обозначение в задании Имя переменной Тип переменной Комментарий
y y вещественный Результат. Значение функции
x x вещественный Текущее значение аргумента функции
Начальное значение x XN вещественный Исходное данное
Конечное значение x XK вещественный Исходное данное
Шаг изменения значения x DX вещественный Исходное данное
  N целый Номер итерации вычисления
  f целый Номер формулы вычисления

Анализ исходных данных: начальное, конечное значение переменной x и шаг ее модификации, - этого примера аналогичен анализу исходных данных примера 5.1. Однако требуется дополнительный анализ текущего значения аргумента функции, т.к. от его значения зависит выбор функциональной зависимости: по формуле 1, 2 или 3.

Графическая схема алгоритма представлена на рис.5.4, а результаты тестирования программы – на рис.5.5.

Sub Pr5_2()

Dim y As Single, x As Single

Dim XN As Single, XK As Single, DX As Single

Dim N As Byte, f As Byte

'Ввод и проверка исходных данных

XN = InputBox(" Введи начальное значение х")

XK = InputBox(" Введи конечное значение х")

DX = InputBox(" Введи шаг изменения х")

If (XK< =XN) Or (DX< =0) Then

Cells(1, 1) = " Введены некорректные данные: "

Cells(2, 1) = " XN=" & XN: Cells(3, 1) = " XK=" & XK

Cells(4, 1) = " DX=" & DX

Else

'Выполнение расчетов и вывод результатов

Cells(1, 1) = " №": Cells(1, 2) = " x" ' Вывод шапки таблицы

Cells(1, 3) = " y": Cells(1, 4) = " Формула"

N = 1 ' Номер вычислений

For x = XN To XK Step DX ' Вычисления

If x > 3 Then

y = x - 1: f = 1 ' По формуле 1

ElseIf x < -3 Then

y = x + 1: f = 2 ' По формуле 2

Else

y = x^2: f = 3 ' По формуле 3

End If

Cells(1 + N, 1) = N: Cells(1 + N, 2) = x ' Номер вычислений и значение х

Cells(1 + N, 3) = y: Cells(1 + N, 4) = f ' Вывод y и номера формулы

N = N + 1 ' Модификация значения номера вычислений

Next

End If

End Sub

 

Для программирования циклических действий в приведенных выше примерах используются разные операторы цикла: в примере 5.1 – это оператор While … Wend, а в примере 5.2 – оператор For … Next.

ЛИТЕРАТУРА

1. Васильев А., Андреев А. VBA в Jffice 2000: учебный курс.-СПб.: Питер, 2001. -432с.

2. Гарнаев А.Ю. Excel, VBA, Internet в экономике и финансах. – СПб.: БХВ-Петербург, 2002. – 816 с.; ил.

3. Кузьменко В.Г. Программирование на VBA 2002. – М.: ООО «Бином-Пресс», 2003 г. – 880 с.; ил.

4. Санна Пол и др. Visual Basic для приложений (версия5) в подлиннике: пер. с англ. – СПб.: BHV – Санкт-Петербург, 1998. – 704 с.

5. Браун С. Visual Basic 6: учебный курс. – СПб.: Питер, 2002. – 576 с.: ил.

6. Карпов Б. Visual Basic 6: специальный справочник. – СПб.: Питер, 2002. – 416 с.: ил.

7. Райтингер М., Муч Г. Visual Basic 6.0: пер. С нем. – К.: Издательская группа BHV, 2000. – 288 с. (Серия «Библиотека студента»)






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.