Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Основы алгоритмизации и программирования на VBA

Покупка
Артикул: 797711.01.99
Доступ онлайн
2 000 ₽
В корзину
В учебнике дается описание языка программирования VBA в объеме, необходимом для иллюстрации основных понятий. Рассматриваются базовые структуры алгоритмов, типовые алгоритмы работы с массивами, а также основные приемы программирования. Также описаны средства ввода и вывода информации программы на VBA, применение процедур и функций. Учебник является важной составляющей подготовки специалистов по программам высшего образования. Предназначен для изучения основ алгоритмизации и начального знакомства с программированием на языке VBA в рамках курса «Информатика» студентами всех специальностей 1-го курса института ЭУПП НИТУ «МИСиС», а также для самостоятельного изучения.
Андреева, О. В. Основы алгоритмизации и программирования на VBA : учебник / О. В. Андреева, А. И. Широков. - Москва : Изд. Дом НИТУ «МИСиС», 2021. - 188 с. - ISBN 978-5-907227-44-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1915582 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Москва  2021

М ИНИС ТЕРС ТВО НАУКИ И ВЫСШ ЕГО О Б РА З О ВА Н И Я РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ 

«МИСиС»

ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОМПЬЮТЕРНЫХ НАУК

Кафедра инженерной кибернетики

О.В. Андреева 
А.И. Широков

ОСНОВЫ АЛГОРИТМИЗАЦИИ  
И ПРОГРАММИРОВАНИЯ НА VBA

Учебник

Рекомендовано редакционно-издательским 
советом университета

№ 3935

УДК 004.438 
 
А65

Р е ц е н з е н т ы : 

канд. техн. наук, доцент кафедры моделирования  
в экономике и управлении Р Г Г У  С.В. Никифоров; 

канд. техн. наук, доцент НИТУ «МИСиС» С.В. Громов

Андреева О.В.

А65  
Основы алгоритмизации и программирования на 

VBA : учебник / О.В. Андреева, А.И. Широков. – М. : 
Изд. Дом НИТУ «МИСиС», 2021. – 188 с.

ISBN  978-5-907227-44-6

В учебнике дается описание языка программирования VBA в 

объеме, необходимом для иллюстрации основных понятий. Рассматриваются базовые структуры алгоритмов, типовые алгоритмы 
работы с массивами, а также основные приемы программирования. 
Также описаны средства ввода и вывода информации программы 
на VBA, применение процедур и функций. Учебник является важной составляющей подготовки специалистов по программам высшего образования.

Предназначен для изучения основ алгоритмизации и началь
ного знакомства с программированием на языке VBA в рамках 
курса «Информатика» студентами всех специальностей 1-го курса 
института ЭУПП НИТУ «МИСиС», а также для самостоятельного 
изучения.

УДК  004.438

 О.В. Андреева,  

А.И. Широков, 2021

ISBN  978-5-907227-44-6
 НИТУ «МИСиС», 2021

Содержание

ПРЕДИСЛОВИЕ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
ВВЕДЕНИЕ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
ГЛАВА 1. ОСНОВЫ АЛГОРИТМИЗАЦИИ И 
ПРОГРАММИРОВАНИЯ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.1. Понятие алгоритма . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.1.1. Понятие о структурном подходе к разработке 
алгоритмов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.2. Метод пошаговой детализации . . . . . . . . . . . . . . . 15

1.2. Основные понятия программирования . . . . . . . . . . . . 16
1.3. Этапы решения задач . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4. Основы языка VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.4.1. Переменные. Типы данных . . . . . . . . . . . . . . . . . . 23
1.4.2. Константы (литералы) . . . . . . . . . . . . . . . . . . . . . . 27
1.4.3. Операторы объявления. Инициализация 
переменных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.4.4. Математические операторы. Выражения . . . . . . . 29
1.4.5. Преобразование типов . . . . . . . . . . . . . . . . . . . . . . 30
1.4.6. Логические операторы. Выражения . . . . . . . . . . . 32
1.4.7. Основные операторы VBA . . . . . . . . . . . . . . . . . . . 33
1.4.8. Ввод-вывод данных  . . . . . . . . . . . . . . . . . . . . . . . . 45
1.4.9. Форматирование  . . . . . . . . . . . . . . . . . . . . . . . . . . 55

1.5. Среда разработки  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
1.6. Правила построения программного кода  . . . . . . . . . . 68

ГЛАВА 2. Организация циклических программ  . . . . . . . . . 69

2.1. Циклы по счетчику . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
2.2. Циклы по условию  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.3. Вложенные циклы. Вычисление рядов . . . . . . . . . . . . 82
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . 86

ГЛАВА 3. Организация разветвлений.  
Разветвления в цикле  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

3.1. Организация разветвлений. Условный оператор.  
If-блок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.2. Циклы с разветвлением . . . . . . . . . . . . . . . . . . . . . . . . 93
3.3. Составление программ для обработки  
потока данных  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . 98

ГЛАВА 4. Массивы. Типовые алгоритмы обработки 
одномерных массивов  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

4.1. Одномерные массивы . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.2. Ввод-вывод массивов  . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.3. Алгоритмы обработки одномерных массивов . . . . . . 103
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . 125

ГЛАВА 5. Матрицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

5.1. Описание двухмерных массивов (матриц).  
Ввод, вывод матриц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.2. Работа с матрицами на основе алгоритмов  
обработки одномерных массивов  . . . . . . . . . . . . . . . . . . . 127
5.3. Техника работы с квадратными матрицами . . . . . . . 133
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . 136

ГЛАВА 6. Подпрограммы, процедуры и функции  . . . . . . . 138

6.1. Подпрограммы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
6.2. Описание процедуры. Обращение к процедуре.  
Формальные и фактические параметры . . . . . . . . . . . . . . 139
6.3. Функция. Оператор-функция. Подпрограмма- 
функция. Описание и обращение  . . . . . . . . . . . . . . . . . . . 142
6.4. Особенности использования переменных  
в процедурах и функциях  . . . . . . . . . . . . . . . . . . . . . . . . . 144
Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . 151

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО  
ВЫПОЛНЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

Задания к главе 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

Задания I уровня  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Задания II уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Задания III уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Задания к главе 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Задания I уровня  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Задания II уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Задания III уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Задания к главе 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Задания I уровня  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Задания II уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Задания III уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Задания к главе 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Задания I уровня  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Задания II уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Задания III уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

Задания к главе 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

Задания I уровня  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Задания II уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Задания III уровня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

БИБЛИОГРАФИЧЕСКИЙ СПИСОК  . . . . . . . . . . . . . . . . . . 174
Приложение 1. Встроенные типы . . . . . . . . . . . . . . . . . . . . . 176
Приложение 2. Параметры и специальные символы  
функции format() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

ПРЕДИСЛОВИЕ

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

Настоящий учебник предназначен для приобретения ком
петенций в области алгоритмизации задач и разработки приложений на базе языка программирования Visual Basic for 
Application (VBA). При этом следует отметить, что авторы 
не ставили цели знакомства со всеми возможностями, предоставляемыми языком VBA, а рассматривали лишь ограниченное подмножество средств, необходимых для решения предлагаемых задач в рамках изучаемого курса.

Учебник содержит введение, шесть глав и два приложения. 

Первая глава в основном посвящена вопросам алгоритмизации и изучению базовых приемов программирования. В ней 
дается представление об алгоритмическом методе, используемом при решении задач на компьютере, и современных подходах к разработке алгоритмов и программ; рассматриваются 
основные аспекты и этапы решения задач на компьютере, излагаются приемы и методы разработки и проверки правильности программ. Также дается краткое описание основных понятий языка VBA и начальные сведения об использовании среды 
разработки.

Главы со 2 по 6 содержат теоретическое введение, в котором 

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

В конце приводятся задачи для самостоятельного выпол
нения.

ВВЕДЕНИЕ

Общие сведения об операционной системе Windows. По
давляющее большинство компьютеров, используемых в России, – это так называемые IBM PC совместимые персональные 
компьютеры. Для таких ЭВМ широкое распространение получила операционная система Windows компании Microsoft.

Операционная система – это группа взаимосвязанных 

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

Windows – графическая операционная система для компью
теров платформы IBM PC. Основная идея – принцип рабочего 
стола. Создатели операционной системы не только оформили 
внешний вид «Рабочего стола» как письменный стол (папки, 
документы, часы), но и основные приемы работы пользователя спроектировали аналогично приемам работы за письменным столом. 

Приложения Microsoft Office и общие принципы их ор
ганизации. Приложения Microsoft Office: Word – программа обработки текстов, Excel – работа с таблицами, СУБД 
Access – работа с базами данных, Power Point – создание презентаций – изучаются в курсе «Информатика».

Работа пользователя с этими приложениями организо
вана в соответствии с объектно-ориентированным принципом. Это означает, что все создаваемое и редактируемое 
пользователем при работе с приложением – это объекты 
(например, в Word – абзац, рисунок, в Excel – ячейка, диаграмма, в Access – таблица, запрос). Объекты имеют свойства и методы. Свойства объекта – его характеристики, 
которые можно менять (например, цвет, размер). Методы – 
это действия, которые с объектом можно произвести (напри
мер, переместить, удалить). Меню различных приложений 
Microsoft Office устроено по одному и тому же принципу и 
содержит только те различия, которые отвечают за специфику приложения. Результат работы в Word, Excel или 
Access – это некий документ, для которого существует стандартный набор операций: создание, сохранение, удаление, 
открытие и т.п. Поэтому, например, пункт меню «Файл» 
во всех трех приложениях имеет практически одинаковое 
содержимое: распечатать документ, изменить свойства документа, сделать предварительный просмотр, посмотреть 
последние открытые документы приложения – все это актуально и в Word, и в Excel, и в Access и делается примерно одинаково. Пункты меню «Правка», «Вид», «Вставка», 
«Сервис», «Окно», «Справка» присутствуют в различных 
приложениях, несут одинаковую смысловую нагрузку и 
имеют похожее содержимое.

Панели инструментов – это группы часто употребляе
мых команд, дублирующие «глубоко» расположенные пункты меню в виде кнопок. Большинство приложений Microsoft 
Office оперируют такими панелями. 

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

Visual Basic.NET 2008 (VB.NET) – это объектно-ориенти
рованный язык визуального программирования высокого 
уровня. Этот язык предназначен для разработки Windowsприложений и Web-приложений. Одним из основных компонентов платформы .NET является Framework. Framework 
содержит все функции операционной системы и делает их доступными приложению через методы. 

Успех VB в первую очередь являлся следствием простоты и 

удобства этого языка. С появлением Framework VB стал не менее мощным, чем любой другой язык. Вряд ли можно найти 
что-то, что нельзя сделать, применяя VB.NET, но можно сделать с помощью другого языка. На VB написано больше при
ложений, чем на любом другом языке. Вот благодаря чему VB 
стал одним из лидеров в программировании: 

1) стандартный 
пользовательский 
интерфейс 
пишется 

на нем очень быстро и непринужденно. Полученный результат 
выходит стандартным в применении и каким угодно «навороченным» по внешнему виду; 

2) удобный, быстрый, легко реализуемый доступ к базам 

данных; 

3) глубокая интеграция с Microsoft Office. 

Гигантский плюс VB – время разработки приложения ми
нимально. И это ценится. Там, где требуется высокая скорость 
разработки приложения, – для VB практически нет альтернативы. Очень сильное преимущество VB в его, скажем так, 
распространенности или стандартизованности. VB доступен 
в виде VBA во всех офисных приложениях, а также в некоторых других продуктах.

Visual Basic for Application – язык объектно-ориентиро
ванного программирования. Настоящий учебник позволит познакомиться с языком Visual Basic for Application (VBA), при 
помощи которого можно выполнять обработку данных в любом из приложений Windows, что позволяет осуществлять взаимодействие со всеми приложениями Windows, существенно 
расширяя их функциональные возможности, и, написав программу в одном из приложений, ее можно использовать в любом другом.

Язык VBA является объектно-ориентированным языком, 

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

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

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

Доступ онлайн
2 000 ₽
В корзину