Домашнее задание. Вариант 6 Задание 1. Программирование на Object Pascal с использованием классовЧасть 1.1. Графика. Обработка события нажатия клавиши мыши. Наследование. ПолиморфизмРазработать иерархию классов. Поместить определение классов в отдельном модуле. Разработать программу, содержащую описание трех графических объектов:отрезок, ромб, астроида.Реализуя механизм полиморфизма, привести объекты в одновременное колебательное движение с различными амплитудами и периодами колебаний вдоль осей, проходящих через их геометрические центры и параллельных главной диагонали экрана. Колебания должны затухать к центрам осей и затем возобновляться с возрастанием амплитуд вплоть до достижения объектами границ экрана.В отчете показать иерархии используемых классов VCL и разработанных классов, граф состояния пользовательского интерфейса и объектную декомпозицию. Часть 1.2. Программирование с использованием метаклассов. Создание контейнеров. Использование исключений при программировании.Моделировать стек, в качестве элементов которого могут использоваться целые и вещественные числа. Операции: добавление элемента, удаление элемента, печать элементов стека. Создать класс-потомок, который содержит процедуру сортировки элементов стека (целые числа по возрастанию, вещественные – по убыванию). Тестировать полученную модель. В отчете представить диаграмму классов и обосновать выбранную структуру представления данных. Задание 2. Программирование на С++Часть 2.1. Текстовая обработкаДана последовательность строк. Каждая строка состоит из слов, разделенных пробелами. Написать программу, обеспечивающую ввод строк и их корректировку. Корректировка заключается в удалении или замене слов. Если слово стоит на четном месте и начинается на букву «е » , то оно удаляется; если слово стоит на четном месте и начинается на букву «с » , то оно заменяется словом, введенным с клавиатуры. Вывести на печать исходную и скорректированную последовательности строк. Реализовать как с использованием библиотечных функций работы со строками, так и с помощью собственной их реализации. Оценить время выполнения программы разными реализациями. Часть 2.2. ФайлыДаны текстовые файлы F и G. Переписать в файл H только те слова из файла G, которые встречаются в файле F. Вместо отсутствующих слов ставить троеточие. Порядок знаков препинания при этом сохранить. Словоформы считать различными словами. Предусмотреть наличие индексных файлов, для поиска совпадения со словами файла F. Размер файла F – не менее 10 МБ. Проверить работу программы следующим образом. Файл F должен содержать художественные произведения авторов 19-го века, файл G – современные новости или статьи о компьютерных технологиях. Обеспечить время работы алгоритма поиска не более 3 секунд для новости размером не более 10 кБ. Часть 2.3. Простые объектыОписать объект, включающий заданные поля и методы. Написать программу, которая создает массив объектов и список объектов и содержит процедуры, работающие с указанными структурами, а также созда (Решение → 4606)

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

 

Задание 1. Программирование на Object Pascal с использованием классов

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

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

отрезок, ромб, астроида.

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

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

 

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

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

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

 

Задание 2. Программирование на С++

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

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

 

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

Даны текстовые файлы F и G. Переписать в файл H только те слова из файла G, которые встречаются в файле F. Вместо отсутствующих слов ставить троеточие. Порядок знаков препинания при этом сохранить. Словоформы считать различными словами. Предусмотреть наличие индексных файлов, для поиска совпадения со словами файла F. Размер файла F – не менее 10 МБ. Проверить работу программы следующим образом. Файл F должен содержать художественные произведения авторов 19-го века, файл G – современные новости или статьи о компьютерных технологиях. Обеспечить время работы алгоритма поиска не более 3 секунд для новости размером не более 10 кБ.

 

Часть 2.3. Простые объекты

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

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

 

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

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

Разработать и реализовать диаграмму классов для описанных объектов предметной области, используя механизмы наследования и композиции. Протестировать все методы. Поля классов должны быть частными (private) или защищенными (protected). Методы не должны содержать операций ввода/вывода, за исключением процедур, единственной задачей которых является вывод информации об объекте на экран. Подготовить документацию средствами doxygen.

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

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

Объект – сканер контролера. Содержит сведения о просканированных за смену билетах. Методы объекта должны позволять: инициализировать объект, выводить на экран сведения о билетах и определять суммарную выручку от оплаты проезда за смену.

 

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

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

 

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

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

Использовать средства Qt для реализации концепции Model/View.



Все отчёты содержат работающий код, полностью принятый преподавателем. Копируете и вставляете
НЕ ЗАБУДЬТЕ ЗАПОЛНИТЬ ТИТУЛЬНЫЕ ЛИСТЫ!!!
Если сдача работ будет производиться дистанционно и нужны будут видео функционирования программ, пишите мне на