Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программирование линейных процессов




Создание пользовательских функций

Функции — заранее составленные стандартные подпрограммы, которые могут выполнять каждый раз одну и ту же задачу с разными значениями аргументов (исходных данных). Функция, если она создана как подпрограмма общего назначения (Public), всегда возвращает результат вычисления рабочим программам, вызвавшим даннуюфункцию.

В MS Excel для выполнения более сложных задач по обработке числовой и текстовой информации имеется более 300 встроенных функций, объединенных в 12-ть категорий (групп):

математические (63 функции), финансовые (53 функции), статистические (97 функций), инженерные (41 функция), логические (7 функций), аналитические (7 функций) и т. д. С ними можно ознакомиться в диалоговом окне «Мастер функций». Но еслидля решения требуемой задачи не существует готовой функции, то для создания дополнительной (пользовательской) функции на помощь приходит язык программирования VBA MS Excel.

Как уже отмечалось, пользовательские функции в проекте VBA MS Excel составляют модуль. В рабочей книге MS Excel допускается любое количество модулей, а в одном модуле - несколько функций. Программный код функции общего назначения начинается ключевыми словами Public Function, после которых указывается имя функции с аргументами, указанными в круглых скобках. Заканчивается программный код функции ключевыми словами End Function.

Пользовательские функции - это программные коды на языке VBA MS Excel, реализующие линейные, разветвляющиеся и циклические алгоритмические процессы (конструкции). Созданные пользовательские функции образуют в диалоговом окне «Мастер функций» MS Excel новую категорию функций под названием «Определенные пользователем».

Линейные алгоритмические процессы называют следованием, так как операторы в выражении (формуле) пользовательской функции выполняются последовательно.

Задание1. Рассмотрим программирование линейного процесса на примере создания простой функции, вычисляющей сумму двух чисел (аргументов) x1 и x2, имяфункции - SUM.

Для этой цели необходимо выполнить следующие действия:

1. Создать среду программирования (если она не создана) в соответствии с рис.1.1.

2. Активизировать окно редактора кода VB (в центре экрана) и в меню Insert (вставка) выполнить команду Module (модуль). Обратить внимание, что в окне проводника проекта (слева на экране) будет создана папка Modules,а в ней - Module1.

3. Снова открыть меню Insert и выполнить команду Procedure (процедура). В диалоговом окне Add Procedure (добавлениепроцедуры), представленном на рис.3.1, выбрать тип процедуры - Function (функция), а в строке Name (имя) ввести имя функции - SUM.

Символы языка: прописные и строчные буквы латинского алфавита A…Z (a…z) и кириллицы А…Я (а…я), арабские цифры 0…9 и знаки пунктуации .,:;

 

Рисунок 3.1- Создание модуля пользовательской функции SUM (Модуль1).

4. Выполнить щелчок на кнопке ОК. В окне редактора кода Visual Basic появляются первая и последняя строки программного кода пользовательской функции SUM (рис 3.2).

5. В круглых скобках первой строки программного кода ввести через запятую аргументы х1 и х2 функции,а между строками – выражение (формулу): SUM = х1 + х2 ( рис. 3.3).

Внимание! Если в именах функции и аргументов использовался алфавит латинских (русских) букв, то и в выражении должен быть сохранен этот алфавит. Иначе при выполнении программного кода будет зафиксирована ошибка.

.

 

 

Рисунок 3.2- Первая и последняя строки программного кода.

Совет: имяфункции вместе с аргументами скопировать в то место, где должно быть выражение, а затем отредактировать, как показано на рис. 3.3.

 

 

Рисунок 3.3- Программный код модуля пользовательской функции SUM

 

Ввести в окно программного кода комментарий «Сложение двух чисел (х1 + х2)», поясняющий назначениефункции. Перед комментарием всегда ставится одинарная кавычка (апостроф на рис.3.3). Заметим, что в длинных программных кодах рекомендуется комментировать (пояснять) и смысл отдельных строк.

6. Активизировать окно MS Excel и подготовить ячейки Листа1 для выполнения пользовательской функции, как показано на рис. 3.4. Исходные значения аргументов могут быть произвольными, например, для х1 - число 45 (ячейка А2) и для х2 - число 15 (ячейка В2). Назначим (активизируем) ячейку С2 (можно любую ячейку) для вывода результата выполнения функции. Следует отметить, что названия столбцов в таблице рекомендуется выбирать в соответствии со смыслом решаемой задачи. Например, вместо х1, х2 и SUM (см. рис. 3.4) можно ввести соответственно Число1, Число2 и Результат.

 

Рисунок 3.4- Подготовка ячеек листа1 Excel для выполнения функции SUM

 

7. Для вызова функции SUM открыть в MS Excel диалоговое окно «Мастер функций», щелкнув на кнопке fx (кнопка расположена слева от строки ввода формул – см. рис3.4) или нажать Shift + F3.

В этом диалоговом окне раскрыть список категорий функций и выбрать категорию «Определенные пользователем»,как показано на рис.3.5.

 

Рисунок 3.5- Выполнение пользовательской функции SUM

Эта категория появилась в «Мастере функций» в результате создания проекта Модуля1 пользовательской функции SUM на языке VBA, встроенного в приложение MS Excel

8. В категории «Определенные пользователем» выделить функцию SUM и выполнить

щелчок на кнопке ОК (см. рис 3.5), или двойной щелчок по выделенной функции.

9. В появившемся диалоговом окне «Аргументы функции SUM» ввести путем ссылки (щелчком) на ячейки А2 и В2 аргументы х1 и х2 (рис. 3.6). В этом же окне также выводятся значения аргументов и результат выполнения операции SUM. Щелкнуть на кнопке ОК.

 

Рисунок 3.6- Ввод аргументов пользовательской функции SUM

10. Вячейке С2 на листе1 MS Excel появился результат выполнения программного кода пользовательской функции SUM (рис 3.7), а в строке формул – выражение функции с аргументами в круглых скобках: =SUM(A2:B2). Нажать на клавишу Enter, чтобы зафиксировать результат в ячейке С2.

 

Рисунок3.7-Результат выполнения пользовательской функции SUM

11. Убедимся, чтоформулу в ячейке С2 можно распространить для выполнения этой же функции с другими аргументами. Для этой цели заполнить ячейки столбцов А и В значениями аргументов в соответствии с рис.3.8, а затем распространить формулу в ячейке С2 вниз.

 

Рисунок 3.8- Выполнение функции SUM при других значениях аргументов х1 и х2.

 

. Произвольно изменить значения аргументов х1 и х2 и убедиться в автоматическом изменении результата выполнения пользовательской функции SUM.

12. Переименовать Лист1 в Сумма и сохранитьсозданный файл книги в собственной папке под именем Арифметика. Для этого в меню Файл MS Excel выполнить команду Сохранить как. В файле будет сохранена вся конфигурация среды программирования VBA MS Excel (см. рис. 1.1) вместе с модулем1 и пользовательской функцией SUM.

Внимание! Еслив процессевыполнения заданий надо удалить ошибочно созданный модуль, то в контекстном меню этого модуля вызвать команду Remove Module (изъять модуль)ив появившемся информационном окне щелкнуть на кнопке НЕТ.

Задание 2. Самостоятельно создать в файле Арифметика модуль2и в нем пять пользовательских функций, представленных на рис.3.9. Результат выполнения пользовательских функций разместить на листе2 в соответствии с рис. 3.10. Переименовать Лист2 в Арифм.

 

Рисунок 3.9- Пользовательские функции Рисунок 3.10- Результаты выполнения функций

Особенность выполнения задания:

· открыть из собственной папки файл Арифметика (если он не был открыт). Если на экранеотсутствуетокно редактора кода VB (в центре на рис. 1.1), то использовать уже знакомую комбинацию клавиш ALT + F11. А для вызова окна проводника проекта (слева на рис. 1.1), если оно не появилось, в меню View (Вид) редактора кода выполнить команду «Project Explorer» или щелкнуть по одноименной кнопке на панели инструментов.

· имена функций - русские буквы, а обозначения аргументов х1 и х2 -латинские буквы;

· выполнитьиз Задания1 пункты 2 и 3, в строке Name в соответствии с рис. 3.9 ввести имя первой функции – Слож (в конце имени точку не ставить). Создать программный код этой функции;

· так как все функции находятся в модуле2, то для создания программных кодов остальных функций достаточно последовательно выполнятьиз Задания1 толькопункт 3, т.е. вызывать процедуры. Остальные действия выполнять в соответствии с пунктами 4 -12 Задания1. Результат выполнения задания предъявить преподавателю.

Ввести новые значения аргумента х2 в ячейках B2 – B11, например, 15, 17, 19 … 35 (шаг изменения аргумента х2 равен 2). Убедиться в автоматическом изменении результата выполнения во всех пользовательских функциях. Затем в программном коде функции «Вычитание» вместоарифметическогооператора «-» ввести оператор «+», щелкнуть один раз на ячейке с исходной формулой этой функции (ячейка F2) и сравнить результаты в столбцах C и F. Поэкспериментировать с изменениями арифметическихоператоров в других функциях.

 

Задание 3. Самостоятельно создать в файле Арифметика на листе3 модуль3 и в нем пользовательскую функцию с именем Кор: Кор = ,

где X принимает значения от 0 до 15 с шагом изменения ΔХ = 1,5. Использовать таблицу 2.1 (арифметические операторы), обратив особое внимание на последнюю строку. В комментарии функции указать ее назначение. Переименовать Лист 3 в Корень. На этом же листепостроить график созданной пользовательской функции. Результат выполнения задания предъявить преподавателю.

Задание 4. Самостоятельно создать в файле Арифметика налисте4 модуль4 пользовательской функции НОРМА для вычисления нормы амортизации основных фондов:

,  

где Сп – стоимость первоначальная (8500), Со – стоимость остаточная (3000), Э – срок эксплуатации (5 лет). В комментарии функции указать ее назначение. Распространить выражение функции при Э равным 5, 6, 7, 8, 12 и 15 ( значения Сп и Со оставить прежними). Проанализировать результат выполнения функции при изменении остаточной стоимости Со. Переименовать ярлычок листа4 в НОРМА. Результат выполнения задания предъявить преподавателю. Закрыть файл Арифметика с сохранением.

Замечание. Вфайле Арифметика создано четыре модуля. В данный момент в окне редактора кода находится программный код активного (текущего) модуля пользовательской функции. Для просмотра в этом же окне программного кода пользовательской функции другого модуля, необходимо выполнить двойной щелчок на названии этого модуля. Убедитесь в этом самостоятельно.




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 844; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.026 сек.