Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [ 24 ] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

а = 0: b = 2: Eps = 0.00001 If F(a) * F(b) >= 0 Then MsgBox "Функция не меняет знак" & "на концах отрезка локализации корня" Exit Sub End If Do

с = (a + b) /2 FC = F(c) * F(a)

If FC < 0 Then b = с Else a = с Loop Until b -a < Eps

BM = с

ActiveCell.Offset(rowOffset:=-l, columnOffset:=0).Value = "Корень"

ActiveCell.Value = BM

ActiveCell .Of fset (rowOf fset; =-1, colurnnOf f set: I) .Value = "Значение функции"

ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Value = FC End Sub

В процедуре BM использовался метод Offset. Метод Offset возвращает диапазон, сдвинутый на указанное число строк и столбцов по отношению к данному диапазону.

Этот метод имеет следующий синтаксис:

Offset(rowOffset, columnOffset),

где rowOffset - число строк, на которое будет сдвигаться диапазон; columnOffset - число столбцов, на которое будет сдвигаться диапазон.

Использование метода Offset позволяет в процедуре ВМ в активную ячейку вводить найденное приближенное значение корня, а в ячейку, находящуюся справа от активной, - соответствующее значение функции. В ячейки, расположенные над этими двумя, вводятся текстовые строки Корень и Значение функции.

Рассмотрим еще один пример применения цикла Do-Loop Until - для расчета корня уравнения F{x) - О методом Ньютона с выводом на рабочем листе промежуточных результатов ([2]).

Пусть требуется найти корни уравнения -Зх + 1 = О.

Запишем следующую программу для решения этой задачи:



76 Программирование в среде Visual Basic for Applications

Function F(x)

F = x3-3*x + l уравнение f (x) =x-3x+l = 0 End Function

Function DF(x)

DF=3*x2-3 производная функции f(x)

End Function

Sub MN()

eps = Cells (2, 4).Value Range ("A3:ClOOO").Clear X = Cells (2, 1).Value Ceils(2, 2).Value = F(x) Cells(2, 3).Value = DF(x) i = 3 Do

xO = X

X = X - F(x)/DF(x)

Cells (i, 1)/Value = x

Cells (i, 2)/Value = F(x)

Cells (i, 3)/Value = DF(x)

i = i + 1 Loop Until Abs(x - xO) <= eps i = i - 1

Set Reg = Range(Cells(i, 1), Cells(i, 2)) Reg. Font. Size = 14 Размер символов Reg. Interior.Colorindex = 6 Цвет символов End Sub

Функция DF вычисляет значение производной функции F. Точность вычислений введена в ячейку D2, а начальное приближение - в ячейку А2 рабочего листа. Найденные значения (корень и значение функции) выводятся шрифтом повышенного кегля, причем фон ячеек окрашен в желтый цвет.

Существуют следующие операторы безусловного выхода из блока:

• Exit Do - выход из цикла Do-Loop,

• Exit For - выход из цикла For-Next,

• Exit Function - выход из функции Function,

• Exit Sub - выход из процедуры Sub,

• Exit Property - выход из процедуры Property.



11. Панель инструментов «Элементы управления»

в данном разделе рассмотрены основные элементы управления и приведены примеры работы с ними.

Панель инструментов Элементы управления (рис. 11.1), обычно содержит следующие кнопки:

• Выбор объектов.

• Надпись.

• Поле.

• Поле со списком.

• Список.

• Флажок.

• Переключатель.

• Выключатель.

• Рамка.

• Кнопка.

• Набор вкладок.

• Набор страниц.

• Полоса прокрутки.

• Счетчик.

• Рисунок.

• Reffidit.

При необходимости набор элементов на панели инструментов Элементы управления может быть изменен. Одни элементы могут быть удалены, а другие добавлены. Например, можно добавить:

• Свойства элементов управления.

• Текст программы.



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [ 24 ] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57