Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Создание процедур и (или) определяемых функций




Для создания процедуры или функции пользователя нужно выполнить такие действия:

· Если в проекте нет модуля, то создать его, выполнив команду меню редактора VB: Вставка\Модуль;

· Выполнить команду меню редактора VB: Вставка\Процедура;

· В открывшемся диалоговом окне Вставка процедуры (рис. 16) установить переключатель либо Подпрограмма, либо Функция (в зависимости от того, что вы создаете);

Рис. 17. Окно Вставка процедуры

· В окне Имя ввести имя подпрограммы (функции);

· Установить соответствующий переключатель Область определения;

· Щелкнуть на OK. После выполнения этих действий в окне модуля появится заготовка подпрограммы (функции) (заголовок и окончание), между которыми нужно поместить код тела подпрограммы (функции);

· Ввести список параметров подпрограммы (функции), их типов данных, а для функции также указать тип возвращаемого функцией значения;

Объявление переменных

Определение 7. Переменные — это объекты, предназначенные для хранения данных. В различные моменты времени переменные могут хранить различные значения. В переменных можно запоминать какие-либо значения и извлекать их из них.

Переменную можно представить как простейший объект программы следующим образом: имя переменной связывает переменную с некоторой областью памяти. Имена переменных позволяют различать их в программе, осуществлять доступ к различным участкам памяти для записи данных и их извлечения.

Перед использованием переменных в программе их нужно объявлять (декларировать). При объявлении переменной необхо­димо указать, что объявляется переменная, задать имя перемен­ной и указать ее тип. Тип определяет способ представления переменной. В переменных можно хранить практически любые типы данных: число, строку текста, экземпляр объекта, элементы управления и т. д. В Visual Basic различают две группы типов дан­ных: основные (иногда их называют базовыми или встроенными) и типы данных, определяемые пользователем.

Для эффективного использования памяти необходимо пра­вильно выбирать тип переменной. В табл.2 приведены базо­вые типы переменных Visual Basic, необходимая для их размеще­ния память и диапазон возможных значений.

 

Таблица 2

Базовые типы переменных Visual Basic

Тип Хранимая информация Занимаемая память Интервалы значений
Целочисленные типы
Вуtе   Целые числа   1 байт   от 0 до 255  
Воо1еап   Логические значения   2 байта   Тrue (Истина) или False (Ложь)  
Integer   Целые числа   2 байта   от -32768 до 32767  
Long Integer   Длинные целые числа   4 байта   +/- 2.1Е9  
Типы с плавающей точкой
Single   Вещественные числа одинар­ной точности с плавающей точ­кой 4 байта   От -3.402823Е38 до -1.401298Е-45 для отрицательных чисел и от 1.401298Е -45 до 3.402823Е38 для положи­тельных  
Double   Вещественные числа двойной точности с пла­вающей точкой     8 байт   от -1. 79763 13486232Е308 до -4.94065645841247Е-324 для отрицательных чи­сел и от 4.94065645841 247Е-324 до 1. 79763 13486232Е308 для положительных
Строковые типы
String (стро­ка фиксиро­ванной дли­ны)   Текстовая информация (строка)   1 байт на каждый символ   От 1 до 65400  
String (стро­ка перемен­ной длины)   Текстовая информация (строка)   10 байт + 1 байт на ка­ждый символ   От 0 до двух миллиардов символов  
Объектные типы
Object   Рисунок или ссылка на лю­бой другой объ­ект   4 байта   Ссылка на объект  

Окончание табл. 2

Тип Хранимая информация Занимаемая память Интервалы значений
Типы Variant
Variant Значения любо­го из перечис­ленных типов данных   16 байт для чисел, 22 байта + 1 байт на каждый символ для строк   Любое числовое или строковое значение  
Прочие типы
Decimal   Десятичное чис­ло   14 байт   Целое — 29 знаков Вещественное — 27 зна­ков после запятой  
Date Информация о дате и времени   8 байт   от 1 января 1000 г. до 31-го декабря 9999 г.  
Currency   Числа, имею­щие до 15 цифр до десятичной точки и 4 циф­ры после нее (ден. единицы) 8 байт   От -922337203685477.5808 до 922337203685477.5808  

Декларация переменных может быть явной или неявной. Для явного определения переменных существует два способа. Первый предпочтительный способ, предполагает использование следующего синтаксиса:

[Static | Private | Public] Dim ИмяПеременной [ As Тип]

где Dim (Размер) — ключевое слово, которое сообщает Visual Basic, что декларируется переменная и резервируется область памяти для ее хранения; ИмяПеременной — имя переменной (идентификатор, не входящий в перечень ключевых слов Visual Basic); As (Как) — ключевое слово, которое сообщает Visual Basic, что определяется тип данных для переменной; Тип — тип данных для объявляемой переменной; Private (Частный), Public (Общий) — ключевые слова, определяющие область видимости переменной; Static (Статический) — ключевое слово, которое определяет, сохраняет ли переменная свое значение при завершении блока программы (процедуры, функции) и выходе из него.

Следует отметить, что хороший стиль программирования предполагает использование явной декларации с помощью клю­чевых слов Dim, Private, Public, Static. Неявное объявление переменных без необходимости применять не следует, так как в последующем можно получить неверный результат (дело в том, что VBA по-разному обрабатывает данные разных типов, а в случае отсутствия описания ко всем данным будет применен один тип – Variant).

Чтобы избежать неприятностей необходимо в общей области программного мо­дуля помещать оператор Option Explicit.

Примеры декларации переменных:

Dim x As Integer, M$, B&

Dim y As Integer

Оператор Option Explicit в новом модуле появляется не всегда, а только тогда, когда в диалоговом окне Параметры (Options) на вкладке Редактор (Editor) установлен флажок опции Явное описание переменных (Require Variable Declaration). Диалоговое окно открывается в редакторе командой Сервис\Параметры (Tools\Options).

Если в верхней части окна модуля вы увидите оператор Option Explicit, то вы обязаны описывать все переменные и константы. Если вы попытаетесь использовать их без объявления, то при компиляции будет выдана ошибка.

Лабораторная работа № 4 на тему
«Программирование некоторых численных методов
решения нелинейных уравнений на VBA»

Цель работы:

1. Получение практических навыков в организации итерационных процессов.

2. Знакомство с численными методами решения алгебраических и трансцендентных уравнений.

3. Получение навыков составления блок-схемы алгоритма и определения данных.

4. Овладение практическими навыками решения нелинейных уравнений средствами программы MS Excel.

Постановка задачи:

Предварительно локализовав отрезок, содержащий первый положительный корень нелинейного уравнения f(x)=0, р азработать проект VBA, позволяющий уточнить его с заданной точностью, используя: а) метод половинного деления; б) метод хорд; в) метод касательных; г) метод простой итерации.

Выбор метода решения нелинейного уравнения осуществить с помощью элементов управления OptionButton, помещённых на пользовательскую форму (UserForm).Элементы управления OptionButton сгруппировать с помощью элемента управления Frame. Для каждого из перечисленных выше численных методов спроектировать отдельную пользовательскую форму (UserForm) на которой разместить необходимые объекты (элементы управления Label – для подписи на форме комментариев для пользователя; элементы управления TextBox – для ввода точности, и вывода найденного корня и числа итераций, за которое удалось найти требуемое значение корня с заданной точностью; элементы управления CommandButton – для выхода, вычисления корня и перехода на следующую и (или) предыдущую формы). Необходимые вычисления оформить процедурами функциями.

Содержание отчета:

1. Постановка задачи для конкретного варианта.

2. Описание процесса отделения отрезка, содержащего положительный корень для конкретной функции из своего варианта (см. лаб. раб. №1).

3. Обоснование сходимости (применимости метода) каждого из перечисленных в условии итерационных процессов в применении к конкретной функции и найденному отрезку.

4. Эскизы всех пользовательских форм (UserForm) с подписанными именами нанесённых на них элементов управления.

5. Тексты программ и блок-схемы всех необходимых процедур с указанием названия модуля в которых они сохранены.

6. Результаты работы для каждого из методов решения нелинейных уравнений выписать в следующем виде:

Решение уравнения f (x)=0 Название численного метода
метод половинного деления метод хорд метод касательных метод простой итерации
Вычисленное значение корня        
Число итераций        

7. Расписать структуру полученного проекта.

8. Отразить на схеме взаимосвязь имеющихся модулей.

9. Проанализировать полученные результаты и сравнить с результатами предыдущих лабораторных работ.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...