Изменить демонстpационную пpогpамму.

7.3.  Лабораторная работа №3. Использование наследования. Обработка исключений.

Для задач из предыдущей лабораторной работы реализовать иерархию классов, изменяя отдельные методы и добавляя некоторые члены-данные (по усмотрению студента и преподавателя). В иерархию должно входить 3-4 производных класса. Несколько методов (по смыслу) должны быть виртуальными. Изменить демонстрационную программу так, чтобы она демонстрировала полиморфическое поведение классов. Исследовать, как реализуется механизм полиморфизма.

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

7.4.  Лабораторная работа №4. Применение шаблонов.

Задание представляет собой типовую задачу по разработке шаблонов стандартных структур данных.

Структура данных:

Номер варианта для структуры данных

Вариант структуры данных

1

Стек

2

Циклическая очередь

3

Массив (массив ссылок)

4

Односвязный список

5

Двусвязный список

6

Циклический список

7

Двоичное дерево

Способ хранения объектов в структуре данных:

Номер варианта

Вариант

1

Хранение ссылок объектов

2

Хранение самих объектов

Способ определения размерности:

Номер варианта

Вариант

1

Статический параметр шаблона

2

Динамический массив ссылок или элементов

Операция:

НЕ нашли? Не то? Что вы ищете?

Номер варианта

Вариант

1

Включение элемента с сохранением упорядочености

2

Включение элемента по индексу (номеру).

3

Исключение (удаление) элемента по индексу

4

Двоичный поиск на основе сравнения с объектом-ключом

5

Поиск элемента по индексу

6

Сортировка

Вариант 1

Структура данных: стек.

Способ хранения объектов: об"екты.

Размерность структуры данных: параметр шаблона.

Операция: загрузка об"екта в стек.

Операция: извлечение из стека.

Вариант 2

Структура данных: стек.

Способ хранения объектов: ссылки на об"екты.

Размерность структуры данных: динамический массив.

Операция: загрузка об"екта в стек.

Операция: извлечение из стека.

Вариант 3

Структура данных: циклическая очередь.

Способ хранения объектов: об"екты

Размерность структуры данных: параметр шаблона.

Операция: включение в конец очереди.

Операция: исключение из очереди.

Вариант 4

Структура данных: циклическая очередь.

Способ хранения объектов: ссылки на об"екты.

Размерность структуры данных: динамический массив.

Операция: включение в конец очереди.

Операция: исключение из очереди.

Вариант 5

Структура данных: массив.

Способ хранения объектов: об"екты.

Размерность структуры данных: параметр шаблона.

Операция: сортировка при наличии переопределенной операции

сравнения об"ектов.

Операция: Двоичный поиск на основе сравнения с объектом

-ключом.

Вариант 6

Структура данных: массив ссылок.

Способ хранения объектов: ссылки на об"екты.

Размерность структуры данных: динамический массив.

Операция: сортировка при наличии переопределенной операции

сравнения об"ектов.

Вариант 7

Структура данных: односвязный список, содержащий ссылки

на элементы данных.

Операция: сортировка при наличии переопределенной

операции сравнения об"ектов.

Операция: включение с сохранением упорядоченности при

наличии переопределенной операции сравнения об"ектов.

Операция: включение элемента по заданному номеру

Вариант 8

Структура данных: двоичное дерево, содержащее ссылки на

элементы данных.

Операция: включение с сохранением упорядоченности при

наличии переопределенной операции сравнения об"ектов.

Вариант 9

Структура данных: двоичное дерево, содержащее элементы данных.

Операция: включение с сохранением упорядоченности при

наличии переопределенной операции сравнения об"ектов.

Вариант 10

Структура данных: односвязный список, содержащий элементы

данных.

Операция: включение с сохранением упорядоченности при

наличии переопределенной операции сравнения об"ектов.

Вариант 11

Структура данных: двусвязный циклический список, содержащий

элементы данных.

Операция: включение с сохранением упорядоченности при

наличии переопределенной операции сравнения об"ектов.

Операция: поиск и возвращение элемента данных по заданному

номеру.

Вариант 12

Структура данных: двусвязный циклический список, содержащий

элементы данных.

Операция: включение по заданному номеру.

Операция: удаление по заданному номеру.

Операция: поиск и возвращение элемента данных по заданному

номеру.

8.  Курсовые работы.

8.1.  Темы курсовых работ

8.1.1.  Шаблон иерархической структуры данных в памяти

Для заданной двухуровневой структуры данных, содержащей указатели на объекты (или сами объекты) - параметры шаблона, разработать полный набор операций (добавление, включение и извлечение по логическому номеру, сортировка, включение с сохранением порядка, загрузка и сохранение объектов в бинарном файле, балансировка – выравнивание размерностей структур данных нижнего уровня). Предполагается, что операции сравнения хранимых объектов переопределены стандартным образом (в виде операций <,> и т. д..).

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

1.  Шаблон структуры данных – двухуровневый массив указателей на объекты. Массив верхнего уровня - статический, массивы нижнего уровня – динамические, размерность – параметр конструктора, последовательность указателей в каждом массиве ограничена NULL. Если после включения указателя массив заполняется полностью, то создается еще один массив указателей, в который переписывается половина указателей из старого.

2.  Шаблон структуры данных – двухуровневый массив указателей на объекты с типом – параметром шаблона. Массив верхнего уровня – статический. Массивы нижнего уровня – динамические, размерность каждого следующего в 2 раза больше размерности предыдущего, последовательность указателей в каждом массиве ограничена NULL.

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

4.  Шаблон структуры данных – односвязный список, содержащий динамический массив указателей на объекты. Размерность массива указателей в каждом последующем элементе списка в 2 раза больше, чем в предыдущем. Последовательность указателей в каждом массиве ограничена NULL. При переполнении текущего массива указателей последний указатель переносится в следующий элемент списка.

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

6.  Шаблон структуры данных – двусвязный список (нециклический), каждый элемент списка содержит указатель на объект. Для ускорения процедуры обхода структуры данные имеется динамический массив указателей на каждый 10-ый эле6мент списка (0,10,20 и т. д.).

7.  Шаблон структуры данных - массив указателей на заголовки списков. Элемент списка содержит указатель на строку. (При включении последним предусмотреть ограничение длины текущего списка и переход к следующему).

8.  Шаблон структуры данных - cписок, каждый элемент является заголовком односвязного списка. Элемент списка второго уровня содержит указатель на объект. (Включение элемента последним в список производить с учетом выравнивания длины текущего и следующего списков).

9.  Шаблон структуры данных – дерево. Конечная вершина дерева содержит статический массив указателей на объекты (ограниченный NULL-указателем), промежуточная вершина содержит счетчик вершин дерева и два указателя на правое и левое поддерево. Значения в дереве не упорядочены. Естественная нумерация значений производится путем обхода дерева по принципу “левое поддерево - вершина - правое поддерево”. Если при включении указателя в найденный массив последний переполняется, он становится промежуточной вершиной.

10. 


Шаблон структуры данных – дерево. Вершина дерева содержит два указателя на объекты и три указателя на поддеревья. Данные в дереве упорядочены..

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5