Задание 2б
Выполнить пример для цикла Do .. Loop (из лекции)
Составить алгоритм решения квадратного уравнения, составить программу, с использованием операторов условного перехода (домашнее задание), набрать программу, выполнить с различными коэффициентами уравнения.
Определение корня нелинейного уравнения методом Ньютона
- метод касательной, в методе последовательных приближений (итераций)
Пример использования цикла Do-Loop While при нахождении корня уравнения f(x)=0 методом Ньютона. В программе решается уравнение . За начальное приближение к корню взято число 3, а корень вычисляется с точностью до 0,00001. Найденное значение корня с помощью метода ActiveCell выводится в активную ячейку.
Option Explicit
Function FF(x As Double) As Double
FF = x ^ 2 - 2
DFF = x * 2
Sub MN()
Const Eps = 0.00001
Dim x0, x As Double
x = 3
Do
x0 = x
x = x - FF(x) / DFF(x)
Loop While Abs(x - x0) > Eps
ActiveCell.Value = x
End Sub
Более сложный пример ....окна ввода вывода
Выполните упражнения из лекции по разделу:
Область действия переменных, (констант), процедур и функций
Уровень процедуры
Не видны за пределами процедуры, где определены
Пример:
1. Всавьте новый модуль в проект
2. Введите:
Sub Macro1()
Dim x As Integer
x = 10
MsgBox "x имеет значение в Macro1 = " & x
'the next line runs Macro2
Macro2
End Sub
Sub Macro2()
MsgBox "x, имеет значение в Macro2 = " & x
End Sub
3. выполните Macro1
4. ОК, ОК
Уровень модуля (выше всех процедур)
- Если определить переменную, как Public, она будет доступна для всех макросов (подпрограмм) проекта
- Если определить переменную, как dim, private – только внутри модуля, где объявлена
Уровень проекта
Выполните:
1. Сохраните и закройте все раб. Книги, откройте новую
2. Выведите окно редактора VBA
3. Вставьте модуль и введите программу:
Public x As Integer
Sub Macro_1a()
x = 10
MsgBox x
Macro_1b
End Sub
Sub Macro_1b()
x = x * 2
MsgBox x
Macro2
End Sub
4. Вставьте другой модуль и наберите:
Sub Macro2()
x = x * 3
MsgBox x
End Sub
5. Выполните Macro_1a в первом модуле
6. Объясните результат
7. Измените объявление в первом модуле
Public x As Integer на
Dim x As Integer
8. Снова выполните Macro_1a и Объясните результат
9. Замените
Dim x As Integer на
Private x As Integer
Результат будет тем же
Массивы. Сортировка.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.