Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая 3курс.docx
Скачиваний:
2
Добавлен:
20.12.2018
Размер:
94.84 Кб
Скачать

Министерство образования РФ

ГОУ ВПО «Удмуртский Государственный Университет»

Математический Факультет

Курсовая работа

Библиотека классов контейнеров и итераторов FIFO и LIFO

Выполнил:

Студент гр.19-33

Михлик С.А.

Проверил:

Тонков Л.Е.

Ижевск, 2011

Содержание

Введение 3

  1. Постановка задачи 4

  2. Формализация 5

  3. Идентификация классов 6

  4. Идентификация семантики классов 7

  5. Идентификация отношений между классами 9

  6. Реализация 11

  7. Пример работы программы 19

  8. Список используемой литературы 20

Введение

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

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

• Инкапсуляция. Комбинирование записей с процедурами и функциями, манипулирующими полями этих записей, формирует новый тип данных - объект.

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

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

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

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

  1. Постановка задачи

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

  1. Формализация

Отметим, что LIFO и FIFO отличаются только добавлением элемента. Так же, определим, что в LIFO и в FIFO можно получить доступ только к первому элементу. Так же, заполнение очередей осуществляется путем добавления в него элементов.

Задача реализована на языке программирования С++. Входные данные вводятся с клавиатуры.

  1. Идентификация классов

Из формулировки задачи следует, что необходимо создать два класса LIFO и FIFO.

LIFO

FIFO

Диаграмма 1.

Однако эта диаграмма не совсем полная. Дело в том, что LIFO и FIFO не отдельные абстрактные понятия, а вариации на одну тему. Поэтому следует выделить еще один класс «Очередь», который и будет являться базовым. В связи с этим диаграмма примет вид:

Очередь

LIFO

FIFO

Диаграмма 2.

Таким образом, необходимо будет реализовать: