
- •«Решение нелинейных уравнений средствами Microsoft Excel»
- •Ó Ростовский государственный строительный университет, 2011 Введение
- •1. Отделение корней
- •Лабораторная работа № 1 на тему: «Отделение корней нелинейного уравнения аналитически и графически»
- •Образец выполнения лабораторной работы №1
- •Варианты заданий для лабораторной работы №1
- •2. Уточнение корней нелинейного уравнения при помощи некоторых численных методов
- •2.1. Уточнение корней методом половинного деления (дихотомии)
- •2.2. Уточнение корней методом хорд
- •2.3. Уточнение корней методом касательных (метод Ньютона)
- •2.4. Уточнение корней методом простой итерации
- •2.5. Сравнение эффективности методов
- •Лабораторная работа № 2 на тему: «Уточнение корней нелинейного уравнения при помощи некоторых численных методов»
- •Образец выполнения лабораторной работы №2
- •3. Нахождение корней нелинейного уравнения средствами ms Excel
- •3.1. Нахождение корней с помощью циклических ссылок
- •3.2. Нахождение корней с помощью подбора параметра
- •3.3. Нахождение корней с помощью поиска решения
- •Лабораторная работа № 3 на тему «Решение нелинейных уравнений средствами программы ms Excel»
- •Образец выполнения лабораторной работы №3
- •Численные методы решения нелинейных уравнений средствами vba
- •4.1. Начальные сведения: vba-проект, редактор vba, модуль
- •Общие процедуры
- •Процедуры обработки событий
- •4.2.2. Процедуры-функции (Function) Встроенные функции
- •Функции преобразования типов
- •Математические функции
- •Системные функции
- •Определяемые функции
- •4.2.3. Создание процедур и (или) определяемых функций
- •4.3. Объявление переменных
- •Базовые типы переменных Visual Basic
- •Лабораторная работа № 4 на тему «Программирование некоторых численных методов решения нелинейных уравнений на vba»
- •Образец выполнения лабораторной работы №4
- •Варианты заданий для лабораторных работ №2, №3, №4
- •Ответы к лабораторной работе №1
- •Ответы к лабораторным работам №2, №3, №4
- •Использованная литература
Общие процедуры
Общие процедуры имеют стандартное оформление:
[Область видимости] Sub ИмяПроцедуры (СписокПараметров)
[раздел описаний (переменных и констант)]
тело процедуры (операторы)
End Sub
Для области видимости можно указать либо Public, если процедура глобальная, либо Private, если процедура локальная. Процедура локальная (Private), если она доступна (видна) только внутри данного модуля и не может быть вызвана из других модулей; процедура глобальная (Public), если она доступна (видна) из других модулей.
Оператор Sub - объявление процедуры, задается имя, указывается список параметров, передаваемых при вызове процедуры из программы (может отсутствовать). Тип каждого из аргументов задается следующим за именем аргумента сочетанием As тип, где тип может быть любым допустимым в VBA типом данных или классом объекта. Каждому оператору Sub обязательно соответствует End Sub.
Раздел описаний (переменных и констант) не является обязательным в процедурах. Но если в верхней части окна модуля вы увидите оператор Option Explicit, то вы обязаны описывать все переменные и константы.
Тело процедуры - набор последовательно выполняемых операторов на языке VBA. В программе можно не только использовать процедуры данного программного модуля, но и ссылаться на процедуры других модулей текущей рабочей книги, а также процедуры других рабочих книг. Примечание. Если в нескольких рабочих книгах имеется ряд процедур с определенным именем, следует указать имя файла рабочей книги и имя модуля в этой книге при вызове процедуры.
Заметим, что макрос в VBA является процедурой типа Sub, не имеющей (т.е. не требующей) параметров. Процедуры пользователя типа Sub, у которых нет параметров, выполняются (также, как и макросы) либо из редактора VB, либо из VBA-приложения, а кроме того их можно вызвать из другой процедуры.
Выполнить же процедуру типа Sub, у которой аргументы есть, можно только вызвав её из другой процедуры.
Т.о., при написании собственной процедуры вы можете воспользоваться процедурами (и макросами), написанными другими пользователями. В свою очередь ваша процедура может быть использована в других приложениях.
Если процедура имеет аргументы, то она будет требовать эти аргументы при выполнении своей работы. Вызывается процедура с помощью оператора Call, вслед за которым должно следовать имя процедуры и список её параметров в скобках. Вместо входных параметров могут стоять их значения. Допускается и бесскобочная запись оператора вызова (при этом ключевое слово Call – имя оператора – не используется).
Процедуры обработки событий
Процедуры обработки событий связаны с конкретными объектами и событиями и выполняются, когда эти события происходят. Событие (event) – это нажатие командной кнопки, выполнение директивы меню, открытие или закрытие таблицы Excel и т.п. Имя такой процедуры состоит из имени объекта и события, которые объединяются символом подчеркивания. Процедуры обработки событий имеют следующий синтаксис:
Private Sub ИмяОбъекта_Событие ( )
тело процедуры (операторы)
End Sub
Объединяет общие процедуры и процедуры-события то, что в их определениях используется ключевое слово Sub. Принципиальное отличие общей процедуры от процедуры-события состоит в том, что для общей процедуры пользователю нужно придумать имя, а имя процедуры-события создаёт сама система VBA.