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

2

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

Задание 1. Turbo Delphi

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

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

окружность с вырезанной четвертью, эллипс, два эллипса

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

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

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

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

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

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

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

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

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

Дан символьный файл F размером не менее 1 млн. строк средним размером 10 символов. Разработать программу, формирующих индекс для последовательностей символов с длиной не более 5, которым в этом файле предшествует буква а. Хранить индекс в файле H. Предусмотреть возможность наличия в одной строке исходного файла нескольких последовательностей символов. Сравнить среднее время поиска последовательности символов в случае использования индексного файла и без его использования.

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

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

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

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

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

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

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

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

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

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

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

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

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