Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Для заочников (алгор-ия и VBA).doc
Скачиваний:
38
Добавлен:
19.05.2015
Размер:
149.5 Кб
Скачать

7. Стандартные алгоритмы

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

7.1. Алгоритм накопления суммы (произведения)

Суть алгоритма накопления в том, что сумма или произведение вычисляются не сразу, а постепенно накапливаются за счет добавления очередного элемента массива на каждом шаге цикла. Для правильной работы алгоритма переменной, в которой будет накапливаться сумма (произведение), должно быть присвоено определенное начальное значение, не влияющее на действие накопления. Например, при накоплении суммы в качестве начального значения берется 0 (т.к. прибавление нуля не влияет на сумму), а при накоплении произведения начальное значение равно 1 (при умножении на 1 произведение не меняется).

Рис. 8. Накопление суммы Рис. 9. Накопление произведения

Пусть Х – одномерный массив из nэлементов (чисел). Требуется вычислить сумму элементов массиваS. Переменную-индекс для перебора элементов в цикле обозначим какi.

Блок-схема накопления суммы элементов массива Х в переменную Sизображена на рисунке 8. Накопление произведения элементов массива Х в переменнуюPвыполняется аналогично накоплению суммы (рис. 9).

Язык и система программирования Visual Basic for Application (vba)

1. Общая характеристика языка и системы программирования vba

Название VisualBasicforApplicationможно перевести как «VisualBasicдля приложения». В данном случае речь идет о системе программирования языкаVisualBasic(Визуальный Бейсик), встроенной в прикладные программы (приложения) пакетаMSOffice: текстовый редакторMSWord, электронную таблицуExcel, программу презентацийPowerPoint, систему управления базами данныхAccessи др. Можно воспользоваться средствамиVBAв любой из этих программ, чтобы расширить ее возможности (улучшить интерфейс, задать нестандартные действия или вычисления и т.п.).

Например, с помощью VBAв среде электронной таблицыExcelможно:

– создавать функции пользователя, если недостаточно возможностей стандартных встроенных функций;

– с помощью специального макрорекодера (MacroRecoder) задать автоматическую запись программного кода согласно действиям, выполненным пользователем в электронной таблице;

– создавать различные дополнительные визуальные элементы (окна, панели, кнопки и пр.).

Язык программирования, используемый в VBA, для записи программного кода представляет собой диалект языкаVisualBasic, который в свою очередь базируется на классическом алгоритмическом языкеBasic(Бейсик).

Одной из особенностей VisualBasic, а, следовательно, иVBA, является использование элементов объектно-ориентированного подхода к программированию (ООП). При этомобъект– это программный элемент, у которого может быть свое отображение на экране и который содержит некоторые переменные, определяющие его свойства, а также методы управления им. Таким образом, объект позволяет инкапсулировать (объединять в нечто целое) данные вместе с кодом, предназначенным для их обработки.

Например, в VBAдляExcelможет использоваться более 100 встроенных объектов, находящихся на разных уровнях иерархии. Приведем названия некоторых из них:Range– блок (диапазон) ячеек,Cell– ячейка,WorkSheet– рабочий лист,DialogSheet– диалоговое окно,WorkBook– рабочая книга и т.д. Главным в иерархии объектов является объектApplication, который представляет собой само приложениеExcel. Он имеет более 120 свойств и 40 методов, предназначенных для установки общих параметров приложения.

Система программирования VBAпредставляет собой интегрированную среду разработки программ, которая включает в себя следующие компоненты: окно проекта, окно для редактирования программного кода (текста программ), окно свойств, окно просмотра объектов и др.

Система программирования VBAявляется средой визуального программирования и позволяет достаточно легко создавать различные визуальные (видимые на экране) объекты (окна форм, кнопки, текстовые поля, надписи, списки и пр.). Пользователь с помощью специальной панели инструментов может формировать эти элементы на экране, задавая их свойства (положение на экране, размер, цвет и т.п.). Писать программный код при этом не нужно (так, как это потребовалось бы в классических алгоритмических языках).

В системе VBAработает механизм «событие-отклик», с помощью которого осуществляется управление последовательностью выполнения процедур.Событиепредставляет собой некоторое действие, распознаваемое объектом. События могут возникать в результате действий пользователя или программы. В роли события может выступать нажатие клавиши на клавиатуре и т.д. Например, для визуального объекта «кнопка» событием является щелчок мышью по этой кнопке на экране.

Чтобы объект мог правильно реагировать на событие, необходимо запрограммировать для него соответствующий откликв виде некоторой процедуры (подпрограммы). Таким образом, программирование будет сводиться к разработке процедур-откликов созданных объектов на нужные события. При этом необязательно программировать все отклики на все возможные события для данного объекта. Если отклик не создан на какое-то событие, то программа просто никак не будет реагировать в случае возникновения этого события (оно останется безответным).