Для студентов СибГУТИ по предмету Алгоритмы и структуры данных/Алгоритмы и анализ сложностиНаследование типа включение делегирование. Классы-коллекцииНаследование типа включение делегирование. Классы-коллекции
2026-01-29СтудИзба

Курсовая работа: Наследование типа включение делегирование. Классы-коллекции вариант 13

Новинка

Описание

Цель: освоение навыков составления и тестирования алгоритмов и объектно-ориентированных программ, использующих абстрактные структуры данных и абстрактные классы по принципу «включение – делегирование».

Задание

  1. Составить программу на языке C# для обработки структурированных данных с помощью классов-коллекций. В программе согласно индивидуальному заданию (табл. 12.2):
    • определить базовый класс как абстрактный;
    • ввести в абстрактный класс дополнительные абстрактные методы для изменения значений полей класса;
    • в производных классах переопределить наследуемый метод для специализированной операции изменения полей класса (операции выбрать самостоятельно).
      1. Создать класс по принципу «включение – делегирование», содержащий коллекцию производных от базового абстрактного класса объектов. Для реализации выбрать один из предложенных в табл. 12.2 производных классов. Описать следующие методы:
        • добавление в коллекцию новых объектов;
        • изменение свойств и полей имеющихся объектов по номеру объекта в коллекции;
        • удаление из коллекции объекта по его номеру;
        • вывод информации об имеющихся в коллекции объектах.
          1. Продемонстрировать работу класса, построенного по принципу «включение – делегирование». Для этого в методе Main реализовать текстовое меню для выбора одного из возможных действий:
            • добавить в коллекцию объект (производного класса);
            • внести изменения в характеристики объекта коллекции;
            • удалить объект из коллекции;
            • вывести сведения по имеющимся в коллекции объектам;
            • выйти из программы.
          2. Разработать модульный тест для проверки работоспособности заданного метода обработки данных, в том числе для контроля исключений. Результаты тестирования сохранить в файле test.log.

Таблица 12.2

Варианты индивидуальных заданий к лабораторной работе 12

Номер варианта

Класс-коллекция

Базовый абстрактный класс

Производные классы (дополнительные

атрибуты)

Метод для тестирования

13

Жилой массив

Здание (число этажей, материал стен, адрес)

Жилое здание (число подъездов, число квартир на этаже), промышленное здание (число и дата заправки огнетушителей)

Добавление

ИСПОЛЬЗОВАНИЕ ИНТЕРФЕЙСОВ И ДЕЛЕГАТОВ

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

Задание

  1. На примере одного из классов-потомков (выбрать самостоятельно из классов, реализованных при выполнении лабораторной работы 12) реализовать интерфейсы ICloneable, IComparable и IComparer. Реализовать поверхностное и глубокое копирование объектов, вывод отсортированного списка объектов класса по произвольному полю.
  2. С помощью делегатов создать метод сортировки заданным методом списка объектов класса-коллекции. Обеспечить возможность проведения сортировки объектов по полям разных типов данных. Делегат должен передавать информацию о функции сравнения двух объектов классаколлекции.
  3. С помощью лямбда-выражений реализовать операции поиска данных по нескольким заданным критериям и вывод найденных записей на консоль.
  4. Протестировать модульными тестами работу делегатов и обработку контролируемых исключений.

ДВУМЕРНАЯ ГРАФИКА В C#. БИНАРНЫЕ ДЕРЕВЬЯ

Цель: освоение навыков составления программ с графическим интерфейсом Windows для работы с бинарными деревьями, применения средств пространства имен System.Drawing и его классов Graphics, Pen и Brush.

Задание

  1. Дана последовательность целых чисел, оканчивающаяся нулем. Написать программную реализацию класса для внесения и хранения данной последовательности в виде дерева двоичного поиска. Если согласно табл. 14.1 заданы 2 дерева, то их следует задавать двумя последовательностями. Реализовать графический интерфейс.
  2. Разработать два метода обработки данных исходного дерева согласно индивидуальному заданию из табл. 14.1. Преобразованное дерево сохранить в файл tree.res. После преобразования проверить, осталось ли дерево деревом двоичного поиска. Результат этой проверки, а также число, возвращенное методом вычисления показателя, выводить посредством элементов управления TextBox.
  3. Операции построения и обработки дерева инициировать посредством элементов управления CommandButton.
  4. Для прорисовки исходного и результатного бинарного дерева использовать элементы управления PictureBox. Использовать классы Graphics, Pen и Brush пространства имен System.Drawing.
  5. Рассчитанные скалярные значения выводить посредством элемента управления TextBox.
  6. Разработать модульный тест для метода преобразования дерева. При проверке читать дерево из файла tree.res.
  7. При программировании задачи выполнять обработку исключительных ситуаций.

Таблица 14.1

Варианты индивидуальных заданий к лабораторной работе 10

Номер варианта

Задание на преобразование дерева

Задание на вычисление показателя

13

Поменять местами элементы с максимальным и минимальным значением

Найти номер уровня бинарного дерева с максимальной суммой элементов


ОБРАБОТКА ГРАФОВ В C#. ДВОЙНАЯ БУФЕРИЗАЦИЯ ГРАФИКИ

Цель: освоение навыков составления программ с графическим интерфейсом Windows для работы с простыми и ориентированными графами, с реализацией дополнительного буфера для обеспечения плавности анимации.

Задание

  1. Написать программную реализацию класса графа с возможностью добавления элементов во множество вершин и во множество ребер. Способ представления ребер зависит от варианта индивидуальной задачи (списки смежности, матрица смежности, список ребер). Реализовать графический интерфейс с двойной буферизацией, в котором элементы графа можно свободно перемещать по области рисования.
  2. Разработать метод класса для обработки данных графа согласно индивидуальному заданию из табл. 15.1. Результат обработки отражать графически и выводить посредством элементов управления TextBox согласно индивидуальному заданию из табл. 15.1.
  3. Операции загрузки, сохранения и обработки графа инициировать посредством элементов управления Button.
  4. Разработать модульный тест для метода обработки графа. При проверке читать граф из файла G.grf.
  5. При программировании задачи выполнять обработку исключительных ситуаций.
  6. Представить результаты выполнения программы и сделать выводы по работе.

Таблица 15.1

Варианты индивидуальных заданий к лабораторной работе 15

Номер варианта

Задание

Вид* графа

Способ представления

Метод обхода

13

Поиск точек сочленения графически отобразить эти вершины красным цветом либо вывести в TextBox, что таких вершин нет

Н

Любой

DFS


Характеристики курсовой работы

Учебное заведение
Семестр
Вариант
Просмотров
0
Размер
360,18 Kb

Список файлов

cwork.docx

Комментарии

Нет комментариев
Стань первым, кто что-нибудь напишет!
Поделитесь ссылкой:
Цена: 1 000 руб.
Расширенная гарантия +3 недели гарантии, +10% цены
Рейтинг ждёт первых оценок
0 из 5
Оставьте первую оценку и отзыв!
Поделитесь ссылкой:
Сопутствующие материалы

Подобрали для Вас услуги

-17%
Вы можете использовать курсовую работу для примера, а также можете ссылаться на неё в своей работе. Авторство принадлежит автору работы, поэтому запрещено копировать текст из этой работы для любой публикации, в том числе в свою курсовую работу в учебном заведении, без правильно оформленной ссылки. Читайте как правильно публиковать ссылки в своей работе.
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7002
Авторов
на СтудИзбе
261
Средний доход
с одного платного файла
Обучение Подробнее
{user_main_secret_data}