Лабораторная работа МЗЯП на тему "Поиск и сортировка"
Описание
Цель: приобрести практические навыки при решении задач сортировки и поиска записей.
Задачи: реализовать классы, моделирующие некоторую сущность; реализовать для полученных классов отношение порядка по умолчанию; реализовать несколько других возможных отношений порядка; разработать класс, представляющий хранилище объектов-сущностей; разработать демонстрационное консольное приложение; для указанного класса реализовать отношение равенства по умолчанию; доработать демонстрационное консольное приложение.
Реализовать класс:
Сущность: Товар (Stock)
Атрибуты: Инвентарный номер, дата поступления, стоимость, местоположение на складе (отдельный класс с атрибутами: зона, область, ячейка)
Реализовать отношение порядка по умолчанию:
По лексикографическому возрастанию инвентарного номера товара
Реализовать несколько других возможных отношений порядка:
Порядок 1: по возрастанию стоимости товара, для равных стоимостей – по убыванию даты поступления
Порядок 2: по возрастанию уникального номера.
Разработать класс, представляющий хранилище объектов-сущностей. Данный класс должен содержать метод Add добавления объекта в хранилище, метод GetAll получения всех объектов в порядке их добавления, метод GetAllOrdered получения всех объектов в порядке сортировки по умолчанию, методы получения всех объектов в порядках сортировки, реализованных в ходе
выполнения п. 3.
Разработать демонстрационное консольное приложение, в котором жестко задан набор из 6-8 сущностей с различными значениями атрибутов. Приложение должно выводить список сущностей в исходном порядке, а также в порядках, реализованных в пп. 2 и 3.
Реализовать отношение равенства по умолчанию:
Для класса Местоположение: по равенству значений всех полей
В класс, представляющий хранилище объектов-сущностей, добавить методы поиска сущностей по ключевым значениям. Реализовать требуемые отношения равенства, отличные от равенства по умолчанию.
Поиск 1: товаров по местоположению (ключ – местоположение)
Поиск 2: товаров по зоне и области (ключ – местоположение)
Поиск 3: товара по инвентарному номеру (ключ – инвентарный номер)
Доработать демонстрационное консольное приложение, так, чтобы оно позволяло осуществлять поиск по правилам, реализованным в п. 7. Для каждого варианта поиска приложение должно запросить значение ключа, выполнить поиск и вывести список найденных сущностей.
Отчет содержит листинг кода (C#) и скриншоты выполнения программы.