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

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

Новосибирский государственный технический университет

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

по программированию

Пояснительная записка

Факультет: АВТФ

Группа: АБ-421

Выполнил: Барильник С.С.

Проверил: Романов Е. Л.

Новосибирск 2006

Содержание

Содержание 2

Задание 3

Структурное описание разработки 4

Функциональное описание 6

Класс TList 6

Класс BigInt 7

Класс Elm 10

Класс window 10

Класс MainClass 11

Интерфейс object 11

Приложение 11

Класс MainClass 11

Класс window 11

Класс TList 14

Класс Elm 18

Класс BigInt 18

Интерфейс object 25

Задание

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

  • конструкторы для различных типов входных данных (без параметров, параметр-строка, параметр-массив), конструктор копирования (объект из объекта) и деструктор;

  • методы вывода и ввода содержимого объекта в поток (на экран), в текстовую строку (из строки);

  • получения ссылки на внутренние данные объекта (например, на коэффициент матрицы);

базовый набор содержательных операций над типом данных (например, арифметических и сравнения).

Реализовать структуру данных:

Целые произвольной длины во внутреннем двоичном представлении (динамический массив байтов) в дополнительном коде.

Арифметику класса реализовать в виде стандартного набора переопределенных операций с " арифметической" интерпретацией результат операции новый объект. Разработать конструктор копирования, переопределить арифметические операции, присваивание, сравнение, ввод /вывод в стандартные потоки.

Разработать абстрактный базовый класс объектов object, для него предусмотреть виртуальные методы:

1. загрузки объекта из текстовой строки;

2. выгрузки объекта в текстовую строку в динамической памяти;

3. добавления объекта в последовательный двоичный файл;

4. чтения объекта из последовательного двоичного файла;

5. возврата уникального идентификатора класса;

6. возврата указателя на строку с именем класса;

7. сравнения двух объектов;

8. “сложения “(объединения) двух объектов;

9. создание динамической копии объекта.

Разработать класс структуры данных в памяти. Тип хранимого элемента - указатель на объект базового класса object*. Реализовать операции включения / удаления по заданному логическому номеру, поиск минимального / максимального, включение с сохранением порядка, сортировки выбором или вставками, загрузки хранимых элементов в структуру данных из последовательного потока, используя исключительно виртуальные функции базового класса. Проверить работу структуры данных на объектах разработанного класса. Структура данных: циклический двусвязный список.

Демонстрационная программа должна иметь объект - структуру данных, содержимое которой (хранимые объекты двух типов) выводятся в виде списка (меню). Также должен быть задан набор операций в виде списка (меню): добавление объекта, удаление выбранного объекта, сохранение и загрузка объектов из двоичного файла, сортировка объектов и выбор минимального /максимального (если все они одного типа). Все хранимые объекты динамические.