Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
10.02.2015
Размер:
58.37 Кб
Скачать

Вариант 1

Домашнее задание. Вариант 2.

Задание 1. Turbo Delphi

Часть 1.1. Delphi. Программирование с использованием классов. Графика. Обработка события нажатия клавиши мыши. Наследование. Полиморфизм

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

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

Параметры задаются с использованием интерфейсных элементов.

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

Часть 1.2. Программирование с использованием метаклассов. Создание контейнеров. Использование исключений при программировании в среде Delphi.

Моделировать стек, в качестве элементов которого могут использоваться числа и символы. Операции: добавление элемента, удаление элемента, печать элементов стека. Создать класс - потомок, который добавляет процедуру сортировки элементов стека. Тестировать полученную модель.

В отчете представить диаграмму классов и обосновать выбранную структуру представления данных.

Задание 2. С++.

Часть 2.1. Текстовая обработка.

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

Часть 2.2. Файлы.

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

Часть 2.3. Программирование с использованием классов в С++. Простые объекты.

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

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

Задание 3. Программирование с использованием классов в С++.

Часть 3.1. Программирование с использованием классов в С++. Наследование и композиция. Оформление программной документации средствами doxygen

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

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

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

Часть 3.2. Меню. Стандартные диалоги Qt.

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

Часть 3.3. Классы Model/View.

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

Соседние файлы в папке ДЗ