- •Федеральное государственное бюджетное образовательное учреждение
- •Оглавление
- •§ 2. Объекты, методы, свойства
- •2.1. Объекты (Objects)
- •2.2. Классы объектов (Classes Objects)
- •2.3. Свойства объекты (Properties)
- •2.4. Методы объекты (Methods)
- •Объект.Метод (арг1, арг2) § 3 Объекты: Application, Range, Selection, Cells, их методы и свойства
- •3.1. Объект Application (приложение)
- •3.1.1. Свойства объекта Application
- •3.1.2. Методы объекта Application
- •3.2. Объект Range
- •3.2.1. Свойства объекта Range
- •Объект. Cells ( номер_строки, номер_столбца).
- •3.2.2. Методы Объекта Range
- •3.3. Объект Selection
- •3.3.1. Свойства Объекта Selection
- •3.3.2. Методы Объекта Selection
- •§ 4 Семейство UserForms, их методы и свойства
- •4.1. Свойства пользовательской формы
- •4.2. Методы пользовательской формы
- •§ 5 Элементы управления
- •5.1. Свойства элементов управления
- •5.2. Label – метка (надпись, статический текст)
- •5.3. TextBox – поле ввода (окно редактирования)
- •5.4. CommandButton – командная кнопка
- •5.5. OptionButton – кнопка-переключатель
- •5.6. ListBox – список
- •5.7. CheckBox – флажок (кнопка выбора)
- •5.8. ScrollBar – полоса прокрутки
- •5.9. Frame – рамка (группы)
- •§ 6 Создание пользовательских форм
- •Лабораторный практикум № 1. Заполнение ListBox.
- •1. Заполнение объектов ListBox, расположенных на одном объекте UserForm.
- •Программа Заполнение объектов ListBox, расположенных на одном объекте UserForm.
- •2. Заполнение объектов ListBox, расположенных на разных объектах UserForm.
- •2.1 Заполнение списка поэлементно, если список состоит из одной колонки
- •2.2 Заполнение списка массивом, если список состоит из одной колонки
- •2.3 Заполнение списка из диапазона, в который предварительно введены элементы списка
- •2.4 Заполнение списка поэлементно, если список состоит из нескольких колонок
- •2.5 Заполнение списка массивом, если список состоит из нескольких колонок
- •3. Заполнение объектов ListBox, расположенных на листе Excel
- •Программа Заполнение объектов ListBox, расположенных на листе Excel
- •Лекция 2. Виды алгоритмов. Операторы цикла
- •§ 1. Алгоритмы последовательные, разветвляющиеся и циклические с заданным числом итераций и с неизвестным числом итераций
- •1.1. Алгоритмы линейной структуры
- •1.2. Алгоритмы разветвляющейся структуры
- •If [условие] Then
- •1.3. Алгоритмы циклической структуры
- •§ 2. Операторы цикла в Excel и vba
- •2.1. Операторы цикла vba
- •Операторы
- •Операторы
- •Do While [условие] операторы
- •Операторы
- •2.3. Выход из структур управления
- •2.4. Оператор цикла с предусловием While…Do
- •While Условие Do Оператор.
- •2.5. Оператор цикла с постусловием Repeat…Until
- •2.3 Оператор цикла с параметром for
- •2.4 Оператор цикла с параметром With
- •Лабораторный практикум № 2. Табулирование функции
- •Программа табулирование разветвляющейся функции вVва
- •Функции, разветвляющейся больше, чем один раз
- •Программа табулирования двух функций вVва
- •2. Табулирование функции
- •2.1 Программа табулирования функции в vва
- •4. Табулирование функций в объектах ListBox
- •2.2 Программа Табулирование функций в объекте ListBox
- •Лекция 3. Файлы
- •Чтение из файла.
- •Чтение из файла
- •Лабораторный практикум № 3.
- •Часть 1
- •Часть 2
- •Часть 3
- •Лекция 4. Массивы
- •Лабораторный практикум № 4
- •Лекция 5. Графика
- •Ксения Владимировна Григорьева Информатика Введение в объектно-ориентированное программирование
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Санкт-Петербургский государственный университет технологии и дизайна»
К. В. Григорьева
Информатика
Введение в объектно-ориентированное программирование
Учебное пособие
Санкт-Петербург
2013
УДК 591.83, 519.83; 518.9
ББК 22.1
Г83
Рецензенты:
доктор физико-математических наук, профессор кафедры компьютерного моделирования и многопроцессорных системф-та прикладной математики – процессов управления Санкт-Петербургского государственного университета А. Ю. Гарнаев;
кандидат физико-математических наук, доцент кафедры прикладной математики и информатики Санкт-Петербургского государственного архитектурно-строительного университета Л. К. Нарбут
Григорьева, К. В.
Г83 Конфликтно-динамические системы. Ч. 2. Приложения моделей
коалиционных игр: монография / К. В. Григорьева. – СПб.: ФГБОУВПО «СПГУТД», 2013. – ___ с.
ISBN ___-_-____-____-_
ISBN ___-_-____-____-_
Рассматриваются статические, динамические и стохастические игры, принципы оптимальности и их использование и применение в решении задач, описываемых конфликтными статическими и конфликтно-динамическими игровыми моделями. Особое внимание уделено понятию коалиционных игр, методам решения динамических и стохастических коалиционных игр и их модификаций, построению коалиционных моделей для решения прикладных задач.
Модели, представленные в монографии, разрабатывались в рамках чтения специального кафедрального курса лекций «Конфликтно-динамические системы» в 2011/2012 и 2012/2013 гг. студентам специальности «Прикладная математика» на факультете Прикладной математики – процессов управления Санкт-Петербургского государственного университета.
Предназначено для студентов и аспирантов специальностей «Прикладная математика» и «Прикладная информатика», может быть полезным для всех, кто интересуется теорией игр, динамическим программированием и конфликтными системами.
Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 12-01-00752-а).
УДК 591.83
ББК 22.1
ISBN ___-_-____-____-_ © ФГБОУВПО «СПГУТД», 2013
ISBN ___-_-____-____-_ © К. В. Григорьева, 2013
Оглавление
§ 1. Введение 3
§ 2. Объекты, методы, свойства 5
§ 3 Объекты: Application, Range, Selection, Cells, их методы и свойства 6
§ 4 Семейство UserForms, их методы и свойства 15
§ 5 Элементы управления 16
§ 6 Создание пользовательских форм 24
§ 1. Алгоритмы последовательные, разветвляющиеся и циклические с заданным числом итераций и с неизвестным числом итераций 44
§ 2. Операторы цикла в Excel и VBA 45
§ 1. 87
§ 1. 124
§ 1. 129
Лекция 1. Основы объектно-ориентированного программирования
Материалы этой статьи опубликованы в [1]–[4].
§ 1. Введение
Объектно-ориентированное программирование (ООП) – это подход, который заключается в следующем наборе основных принципов [Т. Бадд]:
всё является объектом;
вычисления осуществляются путём обмена данными между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие;
каждый объект имеет независимую память, которая состоит из других объектов;
каждый объект является представителем класса, который выражает общие свойства объектов (таких, как целые числа или списки);
в классе задаётся поведение (функциональность) объекта, т. е. все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия, и чёткое разделение ответственности объектов (за каждое действие отвечает определённый объект);
классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования; память и поведение, связанное с экземплярами определённого класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
Таким образом, программа представляет собой иерархию объектов, взаимодействующих между собой посредством сообщений. Сообщение – это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия. Чтобы избежать бесконечной рекурсии в обращениях, на каком-то этапе объект трансформирует обращённое к нему сообщение в сообщения к стандартным системным объектам, предоставляемым языком и средой программирования.
Язык программирования – это знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксисических, семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.
Среды программирования (или среды разработки) – это программы, в которых программисты пишут свои программы. Иными словами, среда программирования служит для разработки (написания) программ и обычно ориентируется на конкретный язык или несколько языков программирования.
Системы ООП дают возможность визуализировать процесс создания графического интерфейса разрабатываемого приложения, т. е. позволяют создавать объекты и задавать значения их свойств с помощью диалоговых окон системы программирования.
Взаимодействие программных объектов между собой и их изменения описываются с помощью программного кода. Создание программного кода в ООП базируется на использовании алгоритмических структур различных типов (линейной, ветвления, цикла), исполнителями которых выступают программные объекты.
Интегрированная среда программирования содержит в себе все необходимое для разработки программ:
редактор с подсветкой синтаксиса конкретного языка программирования, в нем программист пишет текст программы, так называемый программный код;
компилятор, котрорый транслирует программу, написанную на высокоуровневом языке программирования в машинный код, непосредственно понятный компьютеру (создает файл с расширением *.exe);
отладчик, который служит для отладки и тестирования программ на предмет ошибок (синтаксических и логических).
Общее описание работы среды программирования:
редактирование файла, который впоследствии будет содержать код программы;
компиляция; компилятором проверяется текст программы на наличие синтаксических ошибок и затем, если все хорошо, текст программы преобразуется в машинный или объектный код;
компоновка; компоновщик связывает объектный код с кодами функций, определенны[ где-либо вне самой программы, например, в стандартных библиотеках, чтобы создать исполняемый загрузочный модуль без пропущенных частей;
загрузка; загрузчик забирает исполняемый загрузочный модуль (файл с расширением *.exe) с диска и перемещает его в оперативную память;
выполнение; компьютер под управлением своего ЦПУ (центральное процессорное устройство) начинает последовательно выполнять в каждый момент времени, называемый тактом, по одной команде программы; каждый процессор имеет свою тактовую частоту, которую задает его внутренний тактовый генератор; чем более высокая частота работы вашего процессора, тем, соответственно, лучше и тем быстрее выполняются ваши программы.
Приложения на языках ООП Visual Basic и Visual Basic for Applications (VBA) строятся из объектов. Программные библиотеки готовых объектов входят в эти системы программирования, причём языки Visual Basic и VBA различаются между собой, главным образом, составом программных библиотек.
VBA применяет технологию визуального программирования, т. е. конструирование рабочей поверхности приложения и элементов его управления непосредственно на экране, а так же запись всей программы или её частей при помощи Macro Recorder.