Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика.doc
Скачиваний:
43
Добавлен:
22.03.2016
Размер:
12.91 Mб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Санкт-Петербургский государственный университет технологии и дизайна»

К. В. Григорьева

Информатика

Введение в объектно-ориентированное программирование

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

Санкт-Петербург

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.