Программирование в среде Visual Basic for Applications, страница 4
Описание файла
DJVU-файл из архива "Программирование в среде Visual Basic for Applications", который расположен в категории "". Всё это находится в предмете "теория вероятностей и математическая статистика" из 4 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "теория вероятности" в общих файлах.
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 4 - страница
С созданными пользователем функциями можно работать с помощью мастера функций точно так же, как и со встроенными функциями рабочего листа. Функция рабочего листа, определенная пользователем, — это процедура Рппс11оп, которую можно указать в формуле, хранящейся в ячейке. Создадим, например, функцию пользователя, математически определенную следующим образом 12]: у = з1п()тх)е '*. Функция пользователя разрабатывается точно так же, как и любая функция ЧВА.
Она хранится в модуле и описывается с помощью ключевого слова РпЫ1с. Параметром функции является значение или ссылка на ячейку. По умолчанию Ехсе1 присваивает модулям имена: Модуль1, Модуль2 (Мо()п1е1, Мо()п1е2) и т. д. Для создания модуля выполните команду Сервис/ Макрос/Макросы. Введите имя макроса (рис. 4.2), например функция, и нажмите кнопку Создать. В результате откроется приложение ЧВА, в котором будет открыт уже существующий модуль (или создан новый), например Модуль1. На экране будут выведены строки: ЗнЬ функция() Епс( БпЬ Замените эти строки на листе модуля текстом следующей программы (рис.
4.1). РнЬ1тс рппсстсп функння(х) функпня = ятп(йррттсастсп.Р1()*х)*кхр(-2*х) кпд гппсстсп Программирование в среде ЧЫиа! ВавГсУог Аррйсанот Функция Ио в ЧВА возвращает значение постоянной и (в Ехсе! — функция пиО). Заметим, что поскольку функция ИО не является внутренней функцией ЧВА, то ее необходимо записать в форме Аррйсаг)оп.РК). Рис. 4Л. Лист модуля При активном листе Модуль1, на котором введена функция, нажмите клавишу Е2. На экране появится диалоговое окно Просмотр объектов, в котором можно произвести поиск любых компонентов ЧВА в имеющихся классах.
Для поиска необходимо ввести имя необходимого компонента в поле поиска и нажать кнопку с изображением бинокля. На рис. 4.2 представлены результаты поиска функции. Произведем теперь вычисления какой-либо функции с использованием только что созданного макроса. Пусть в ячейку А1 записано число 0.2 и вам нужно вычислить в ячейке В1 значение функции при х = 0,2. Для этого достаточно в ячейку В1 ввести формулу =.функаия(А1~ 27 4. Простейшие функции и процедуры.
Типы переменных Рис. 4.2. Диалоговое окно «Просмотр объектов» Это можно сделать и с помощью мастера функций, который будет содержать функцию функции наряду с другими встроенными функциями Ехсе1. Для этого выполните команду Вставка/Функции. При этом откроется окно Мастер функций — шаг 1 из 2. Выберите в левом списке Категории пункт Полный алфавитный перечень, а затем в правом списке — пункт функции. Нажмите ОК.
Откроется окно Мастер функций — шаг 2 из 2, которое для пользовательской функции имеет вид, изображенный на рис. 4.3. Введите в поле ввода адрес ячейки А1 и нажмите ОК. Рис. 4.3. Ввод функции в ячейку с помощью мастера функций 28 Программирование в среде У(виа( Ваме1ог Арр!(са)(оае Тот же результат можно получить, не создавая функцию пользователя, а просто введя в ячейку В1 формулу =51М (ПИ () *А1) *ЕХР (-2*А1) Однако при постоянном использовании этой функции удобнее все же создать соответствующую функцию пользователя, чтобы не вводить эту формулу каждый раз заново. Общий вид функции пользователя: РпЫТс Гппсе1сп ИМЯ ФУНКЦИИ(СПИСОК ПАРАМЕТРОВ) ТЕЛО ФУНКЦИИ Епс) Рппсс1сп ТЕЛО ФУНКЦИИ состоит из описательной части и блока операторов, выполняющихся один за другим.
Если необходимо прекратить выполнение функции в некотором конкретном месте, это можно сделать с помощью оператора Ехй Рппс6оп. При определении функции иногда бывает удобно описать типы параметров и вычисляемого значения функции. Именем функции или переменной может быть любой идентификатор, определенный пользователем. Идентификатор— это последовательность букв и цифр и символа подчеркивания, начинающаяся с буквы.
Пробелы внутри идентификаторов недопустимы, поэтому они заменяются символом подчеркивания. Также внутри идентификаторов недопустимы спецсимволы: 9, (), 3, й, Ъ, !. Для упрощения чтения и понимания значения идентификаторов на практике рекомендуется при написании сложных идентификаторов использовать строчные и прописные буквы, а также символ подчеркивания. Например, вместо идентификатора пзуаде 1мой возраст) лучше написать МуАре или Му Айе. Возвращаемое функцией пользователя значение присваивается имени функции.
Поэтому в теле функции пользователя, вычисляющей некоторое значение, должен присутствовать по крайней мере один оператор, присваивающий имени функции значение какого-либо выражения. С помощью ключевого слова Орйопа! можно сделать некоторые переменные в функции пользователя необязательными (необязательными являются те из них, кото- 4. Простейшие функции и процедуры. Типы переменных 29 рые можно при вызове не задавать).
Необязательные переменные должны иметь тип ЧаПап1 (см. разд. 4.2). Рассмотрим еще одну функцию пользователя ([2)) Я(1е Ьепф)), которая находит длину недостающей стороны прямоугольного треугольника, где переменные А и В отведены под длины катетов, а переменная С вЂ” под гипотенузу. Например, формула =Бтйе Ьепден(;В2;С2) ВЫЧИСЛяЕт КатЕт А ПО ВВЕДЕННЫМ В яЧЕйки В2 и С2 катету В и гипотенузе С. При работе с необязательными переменными необходимо использовать функцию 1БМЬ- япе, возвращающую Тгпе, если соответствующий аргумент не был передан в процедуру, и гаЬе — в противном случае.
Еппсеьоп Бьйе Ьепдеп (Оретопа1 А; орсьопа1 В; орсьопа1 с) 1Й Ноя (ТяМТяяьпд (А)) Апй Ноо (ТяМТяяьпд (В)) Треп Байе Ьепдсп = Бдс(А 2 + В 2) Епй 11 11 Мое (1яМТяя1пд(А)) Апй Мое (1ямьяяьпд(С)) Тпеп Бьйе ЬепдсЬ = Бдя(С " 2 — А " 2) Епй 11 11 Иое (1ямьяяьпд(В)) Апй Ноя (1яМТяя1пд(С)) Тпеп Бьйе Ьепдоп = Бдх(С " 2 — В 2) Епй 11 Епй Еппсе1оп Обратите внимание на следующее правило при написании кода программы: если оператор не умещается целиком на одной строке и его необходимо продолжить на следующей строке, то символом продолжения служит последовательность «пробел — подчеркивание» («») (как в рассмотренном выше примере) или «пробел — обратная косая черта» («~»). Например, в условном операторе 11..Лаев...
ключевое слово реп является частью оператора. Поэтому для переноса его на следующую строку надо использовать символ продолжения. В одной строке может быть один или несколько операторов. Один оператор отделяется от другого двоеточием («: »). Программирование в среде Ч!зиа! Вал!сзог Аррбсапопз 30 4.2. Переменные и постоянные Все переменные в ЧВА имеют тип. Тип указывает, что может хранить переменная: целое или вещественное число, строку, дату и т.
д, Базовые типы переменных ЧВА приведены в табл. 4.1. Таблица 4.1. Типы переменных Занимаемый Диапазон Тип переменной размер памяти, байт Тгсе (истина) или РаЬе (ложь) Воо!еап (логический) От-32 768 до 32 768 1и!е8ег (целое) От -2 147 483 648 до 2 147 483 647 1.оп8 (длинное целое) 1)а!е (дата) От 1 января ! 00 г. до 31 декабря 9999 г.
Апау (массив) Зависит от размера массива и типа элементов массива !3ооЫе (число с плавающей точкой двойной точности) ОЪ)ес! (объект) !О Ссггепсу (денежный) От -922 337 203 685 477,5808 до 922 337 203 685 477,5807 Чан ап! (вариант) Зависит от содержимого пере- менной Если не указан тип переменной, то по умолчанию используется тип Чаг(апт. Переменные этого типа могут содержать данные любого типа, кроме типов, определенных пользователем, 8!п81е (число с плавающей точкой) 8!т!п8 (строка переменной длины) По абсолютной величине от 1,401298Е-45 до 3,402823Е38 По абсолютной величине от4,9406564584!247Е-324 до 1,79769313486232Е308 Любой определенный объект От 0 до 2х! 0'+ длина строки 4. Простейшие функции и процедуры. Типы переменных 31 и строк фиксированной длины.
Тип такой переменной изменяется в зависимости от последнего присвоения. Поэтому тип Чапап1 очень удобен. Однако указание конкретного типа позволяет делать функции более быстрыми и надежными. Константу в ЧВА можно описать с помощью следующей конструкции: Сопяя ИМН КОНСтАНтн Ая тИП КОНСтАНтЫ=ЭНАЧЕНИЕ Например: Сосне Гь Ая Пооьтя=э.тетз Переменную в ЧВА можно описать с помощью следующей конструкции: пью ИМЯ ПЕРЕМЕННОЙ Ая ТИП ПЕРЕМЕННОЙ Например, возможны следующие описания переменных: Пьм А Ая тпяедех Еьа В, С, П Ая тпеядех, Е Ая Зтпд1е Описанные таким образом переменные имеют следующие типы: переменные А и П являются переменными целого типа (1п1енег), переменная Е является действительной переменной одинарной точности (Япа!е), переменные В и С описаны неявно и имеют тип Чапап1. Однако более удобно использовать явное описание типов переменных, чтобы в ходе разработки кода программы не возникал вопрос о применимости к данной переменной той или иной функции или операции.
Если все же приходится использовать переменную типа Чаг1ап1, то перед тем, как применить к переменной или выражению, содержащему эту переменную, некоторую функцию или операцию, необходимо определить подтип данных переменной типа Чаг!ап1. Существуют специальные логические функции для определения подтипа данных: ° ЬХпгпег(с (выражение) — определяет, является ли результат вычисления выражения числом; ° 1НАггау (выражение) — определяет, является ли результат вычисления выражения массивом; зг Программирование в среде %яиа! Воя[с !от А рр![саиояя ° 1БРа1е (выражение) — определяет, является ли результат вычисления выражения датой; ° 1БОЬ]ес1 (выражение) — определяет, является ли результат вычисления выражения объектом и т.