Классы для компактного представления неориентированных графов



 

1. Создать классы Mgraph - матрица смежности и Bincod - бинарный код неориентированного графа.

2. Для создания объектов классов Mgraph и Bincod, их инициализации и правильного удаления предусмотреть соответствующие конструкторы и деструкто­ры. В каждом из классов предусмотреть конструктор копирования.

3. Для программирования операций над объектами классов Mgraph и Bincod выполнить перегрузку следующих символов операций:

   - динамическое присваивание, символ "=";

   - ввод значения объекта из файла, символ "<<";

   - вывод объекта в файл, символ ">>".

4. В классах Mgraph и Bincod предусмотреть следующие функции:

   - int numv() - получить число вершин графа;

   - int numr() - получить число ребер графа;

5. Предусмотреть следующие функции - члены класса Bincod:

   - int Bincod::sizew() - получить размер бинарного кода            (количество слов, представляющих бинарный код);

   - int Bincod::sizeb()  - получить длину бинарного кода (количество     бит, представляющих бинарный код);

6. Для создаваемых классов Mgraph и Bincod предусмотреть сред-ства взаимного преобразования типов.

7. Разработать демонстрационно-тестирующую программу. Вы-полнить тестирование созданного класса.

 

 

Тема 16

Классы для работы с гиперграфами

 

1. Создать класс Hyperg, представляющий гиперграф.

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

3. Для программирования операций над объектами типа Hyperg выполнить перегрузку следующих символов операций:

   - динамическое присваивание, символ "=";

   - ввод из гиперграфа из файла, символ "<<";

   - вывод гиперграфа в файл, символ ">>".

4. Предусмотреть в создаваемом классе следующие функции:

   - удаления вершины из графа;

   - удаления ребра из графа;

   - добавления вершины в граф;

   - добавления ребра в граф;

   - получения мощности заданного ребра.

5. Разработать демонстрационно-тестирующую программу. Выполнить тестирование созданного класса.

 

 

Тема 17

Алгоритмы распознавания изоморфности графов, их реализация и исследование

 

1. Создать функцию, которая позволяет распознавать изоморф-ность двух заданных графов. Вид графов: неориентированные графы без кратных ребер и петель.

2. Для представления графов использовать таблицы связей или матрицы смежности.

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

4. Получить данные о времени выполнения функции распознава-ния изоморфности для графов с разным числом вершин.

 

   Методические указания

Об изоморфности графов и методах ее установления см. [11 - 14].

 

Тема 18

Универсальная модель линии задержки для САПР

 

1. Создать универсальную модель линии задержки. Модель должна правильно отображать следующие эффекты: задержку сигнала на выходе по отношению к входному сигналу, возможное ослабление сигнала, модификацию формы сигнала.

2. Выполнить программную реализацию модели линии задержки в виде класса. В качестве базовой использовать структуру типа "Очередь".

3. Создать программные компоненты для расчета параметров модели по внешним характеристикам реальной линии задержки.

4. Рассчитать или выбрать параметры модели и выполнить ее тестирование.

 

   Методические указания

Подробнее о построении модели см. Приложение 2 к настоящему руководству, а также статью [16].

 

 

Тема 19

Компьютерная модель системы терморегулирования

 

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

2. Моделируемая система должна включать в себя следующие элементы:

   - рабочее тело, температура которого подлежит регулированию;

   - электрический нагреватель;

   - задатчик температуры, формирующий требуемый закон изменения температуры рабочего тела;

   - регулятор, оказывающий воздействие на нагреватель;

   - внешняя среда;

   - элементы теплообмена, ответственные за передачу тепла от одного элемента к другому.

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

3. Рассчитать или выбрать параметры модели и выполнить ее тестирование.

 

   Методические указания

Подробнее о построении модели см. Приложение 3 к настоящему руководству.

 

 

Тема 20

   Класс для интерполяции данных полиномом

 

1. Создать функциональный класс, позволяющий выполнять интерполяцию данных для зависимости y(x) с помощью полинома заданного порядка. Исходные данные для интерполяции представляют собой таблицу зависимости величины y от величины x.

2. При построении класса использовать возможности перегрузки операции вызова функции и построения функциональных классов и функциональных объектов.

3. Выполнить тестирование созданных программных средств. Исследовать возможности использования интерполяции полиномом, изучить устойчивость такой интерполяции.

 

   Методические указания

Методы и алгоритмы интерполяции сплайнами см. в Приложении 4.

 

Тема 21


Дата добавления: 2018-04-15; просмотров: 361; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!