Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba

.pdf
Скачиваний:
11
Добавлен:
06.02.2016
Размер:
1.26 Mб
Скачать

Министерство образования и науки Российской Федерации ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

В.В. Регеда, О.Н. Регеда

ОСНОВЫ ПРОГРАММИРОВАНИЯ НА VBA

Учебное пособие

Рекомендовано в качестве учебного пособия УМО вузов РФ по образованию в области энергетики для студентов, обучающихся

по специальности 180800 «Электрооборудование автомобилей и тракторов»

Пенза 2004

УДК 001.8 (083.95) А 22

Приводится обзор языков программирования. Изложены основные возможности языков программирования Turbo Basic и VBA для Word и Excel. Рассмотрены примеры создания с помощью VBA приложений с богатыми функциональными возможностями.

Методические указания подготовлены кафедрой «Электротехники и транспортного электрооборудования» и предназначены для лабораторных и индивидуальных занятий студентов специальностей 180800 и 230700 по курсу «Информатика».

Ил. 10, табл. 29, библиогр. 9 назв.

С о с т а в и т е л и: В. В. Регеда, О. Н. Регеда

Р е ц е н з е н т

А. А. Данилов, зам. директора ФГУ

 

Пензенского центра

 

метрологии и стандартизации,

 

доктор технических наук

ВВЕДЕНИЕ

Программа – упорядоченная последовательность команд, необходимых для управления компьютером (ПК). Эти команды поступают на процессор как совокупность нулей и единиц, т.е. числами. Последователь-

ность чисел машинный код.

Алгоритм – это точно определенное описание способа решения задачи в виде конечной последовательности действий. Для представления алгоритма в виде, понятном ПК, служат языки программирования, с помощью которых пишется программа. Затем программа с помощью транслятора либо переводится в машинный код, либо исполняется.

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

При нарушении формы записи программы возникают синтаксические либо логические ошибки. Поиск ошибок – тестирование, процесс устранения ошибок – отладка.

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

Компиляторы же полностью обрабатывают текст программы, просматривают его в поисках синтаксических ошибок и автоматически переводят его в машинный код. В результате получается компактная, быстрая «исполняемая» программа. Однако компиляторы неэффективны при работе с данными сложной структуры.

В реальных системах программирования перемещены обе эти технологии.

1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ

1.1. Уровни и поколения языков программирования

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

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

Языки программирования высокого уровня значительно ближе и по-

нятнее человеку, чем ПК.

В настоящее время можно выделить 5 поколений языков программирования:

1)Начало 50-х годов – язык ассемблер.

2)Конец 50-х годов начало 60-х годов – символический ассемблер, в котором появилось понятие переменной.

3)В 60-х годах – универсальные языки программирования высокого уровня.

4)С начала 70-х годов до настоящего времени – проблемноориентированные языки, оперирующие понятиями узкой предметной области.

5)С середины 90-х годов – системы автоматического создания прикладных программ с помощью визуальных средств разработки без знания программирования. Инструкции вводятся в ПК в максимально наглядном и удобном виде, а затем автоматически формируется текст на универсальных языках программирования.

1.2. Технологии программирования

Различают алгоритмическое, структурное, событийноориентированное и объектно-ориентированное программирование.

Алгоритмические языки программирования представляют алгоритм

ввиде последовательности основных алгоритмических структур:

линейных;

ветвлящихся;

циклических.

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

Основные элементы алгоритмического языка программирования:

1)Переменные и константы.

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

3)Логические операции и выражения.

4)Указатели. В некоторых языках программирования возможно явное указание адреса физической памяти как в ассемблере.

5)Сложные данные (списки, деревья, …).

6)Массивы.

7)Описания переменных.

8)Операторы присвоения.

9)Комментарии.

10)Условные операторы.

11)Операторы цикла.

12)Операторы ввода-вывода.

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

Развитием идея нисходящего проектирования стало событийноориентированное программирование. Оно возникло в связи с широким распространением визуальных систем типа Windows, идеология которых основана на событиях. Структура программы при событийноориентированном программировании следующая: главная часть программы – один бесконечный цикл, который опрашивает Windows, следя за появлением новых сообщений. При обнаружении сообщения вызывается подпрограмма, отвечающая за обработку соответствующего события, а цикл опроса продолжается до получения сообщения «конец работы».

Применение структурного и событийно-ориентированного программирования существенно повысило производительность труда программистов. Но это уже был предел возможностей человека.

В середине 80-х годов возникло понятие объекта и объектно-

ориентированного программирования (ООП). ООП является развитием технологии структурного программирования, но имеет свои характерные черты.

ООП по сути – это создание приложений из объектов как из «кирпичиков». Одни объекты приходится создавать полностью самостоятельно,

другие – можно позаимствовать в готовом виде из разнообразных библиотек.

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

ды.

Внастоящее время в ООП обычно используется графический интерфейс, позволяющий визуализировать процесс программирования. Появилась возможность создавать объекты, задавать им свойства с помощью мыши. Наиболее распространенные системы программирования на ООП –

Visual Basic и Borland Delphi.

Всреде MS Office в качестве объектов выступают: приложения, документы, окна и т.п. Каждый из этих объектов является исполнителем алгоритма. Команды объекту могут давать либо другие объекты, функционирующие в этой системе, либо пользователь персонального компьютера.

Для того чтобы объект мог автоматически выполнять алгоритм в среде MS Office, необходимо записать его на том формальном языке, который этот объект «понимает». Таким языком в MS Office является Visual Basic for Application (VBA), который является ядром ООП языка програм-

мирования Visual Basic.

1.3. Обзор языков программирования высокого уровня

FORTRAN (Фортран) – первый компилируемый язык (50-е годы), не очень удобный, но позволяет получить эффективный исполняемый код. Имеются большие наработки (библиотеки), используемые по сей день.

Cobol (Кобол) компилируемый язык, используется в экономике (начало 60-х годов). Отличается "многословностью". Реализованы мощные средства работы с большими объемами данных. Используется и сейчас.

Algol (Алгол) – компилируемый язык (60-е годы) с большими возможностями, но у него сложная структура.

Pascal (Паскаль) – (конец 70-х годов) похож на Algol, удобен для создания крупных проектов.

Basic (Бейсик) – и интерпретатор и компилятор самый популярный в мире, прост в изучении.

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

зателей. В 70е годы на нем написано множество прикладных и системных программ.

С++(СИ++) – это объектно-ориентированное применение языка СИ (80-е годы). Требует высокого уровня профессиональной подготовки.

Java (Джава, Ява) – был создан в 90-е годы на основе С++ с целью упрощения. Его особенность: компиляция не в машинный код, а в плат- форменно-независимый байт-код, он может выполняться с помощью виртуальной Java – машины JVM, версии которой созданы сегодня для любых платформ. Этот язык сейчас второй по популярности после Бейсика. Используется в основном для поддержки всевозможных мобимых устройств и микрокомпьютеров, встраиваемых в бытовую технику (технология Jini), а также для создания платформенно-независимых программных модулей, способных работать на серверах в глобальных и локальных сетях.

Языки программирования баз данных предназначены для создания записей, имеющих единообразную структуру, с которыми выполняются однообразные операции. Для эффективной обработки групп записей в базах данных используют структурированный язык запросов SQL. Помимо этого языка системы управления базами банных СУБД имеют еще и свой уникальный язык, ориентированный на особенности этой системы.

Языки программирования для Интернета обладают характерными особенностями: языки являются интерпретаторами, которые распространяются бесплатно, а сами программы распространяются в исходных текстах. Такие языки называются скрипт–языками. Наиболее популярные из них приведены ниже.

HTML – язык для оформления Web-документов. Он очень прост и содержит элементарные команды. Форматирование текста, добавление рисунков, организации ссылок и таблиц.

Perl (80-е годы) – это мощное средство эффективной обработки больших текстовых файлов, генерации текстовых отчетов и для управления задачами. Он превосходит С.

Tcl/Tk – (80-е годы) направлен на автоматизацию рутинных процессов, не зависит от типа системы и позволяет создать программы с графическим интерфейсом.

VRML – (94 год) предназначен для организации виртуальных трехмерных интерфейсов.

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

Среди менее распространенных языков программирования отметим еще ряд языков.

PL/1 – (64 год) значительно более мощное средство, чем Pasсаl и С, но его достоинства не сразу были оценены. Например, у него существует уникальная возможность указания точности вычислений. Используется до сих пор

Smalltalk (Смолток) – (80-е годы) отличается тем, что содержит только объекты и сообщения.

LISP (Лисп) – (60-е годы). Интерпретируемый язык программирования. Оперирует структурой данных в виде списка, позволяет организовать эффективную обработку больших объемов текстовой информации.

Системы программирования содержат разнообразные средства создания программ:

текстовый редактор;

компилятор;

редактор связей;

библиотека функций;

отладчик программы.

Из универсальных языков программирования сегодня наиболее популярны следующие:

Basic – для освоения требует начальной подготовки (школы); Pascal – для освоения требует специальной подготовки;

С ++ – для освоения требует профессиональной подготовки.

Для каждого из этих зыков сегодня имеется немало систем программирования, ориентированных на разные ПК и операционные системы. Наиболее популярные системы проектирования программ для Windows для языков программирования – это

– Microsoft Visual Basic

для

Basic;

– Borland Delphi

для

Pascal$

– Borland C++ Bulider

для

Cu++$

– Symantec Cafе

для

Java.

2. TURBO BASIC

2.1. Основные элементы языка программирования TURBO BASIC

Программа, написанная в среде TURBO BASIC (TB), представляет собой совокупность программных строк, имеющих следующий формат:

[номер строки] оператор [:оператор] ...

[‘комментарий]

или

метка:

или

$метаоператор

Квадратные скобки при описании формата всех команд здесь и далее по тексту описания данных лабораторных работ обозначают, что заключенная в них часть конструкции является необязательной, но если она есть, то присутствует без самих квадратных скобок. Таким образом, нумерация строк в TB не требуется, хотя при необходимости она возможна.

Операторы представляют собой действия, выполняемые программой. В строке может быть один или несколько операторов, разделенных двоеточием. Длина программной строки в TB может быть до 249 символов. Если оператор не помещается в одной экранной строке, то его можно разбить на несколько экранных строк, поставив в конце строки символ подчеркивания ( _ ). При этом следующая строка будет рассматриваться как продолжение предыдущей.

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

К любой строке может быть добавлен неисполняемый оператор комментарий, отделенный от последнего оператора знаком апострофа () или оператором REM. Комментарий может быть как первым, так и не первым в строке.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]