Лабораторные работы по курсу Объектно-ориентированное программирование: язык программирования C# - umotnas.ru o_O
Главная
Поиск по ключевым словам:
Похожие работы
Название работы Кол-во страниц Размер
Конспект лекций по дисциплине «Объектно-ориентированное программирование» 3 374.25kb.
Программа вступительного экзамена по специальности 05. 13. 18 Математическое... 1 113.98kb.
Рабочая программа по дисциплине «Объектно-ориентированное программирование»... 1 129.85kb.
Рабочая программа по курсу «Объектно-ориентированное программирование»... 1 58.66kb.
Объектно-ориентированное программирование 3 568.1kb.
Объектно-ориентированное программирование 6 944.02kb.
Пояснительная записка к курсовому проекту по дисциплине «Объектно-ориентированное... 1 189.09kb.
Курсовой проект предполагает создание проекта на С#, отвечающего... 1 7.82kb.
Объектно-ориентированное программирование на современном фортране 1 288.94kb.
Структура, содержание и методические подходы к преподаванию в области... 1 59.03kb.
Контрольная работа по дисциплине «Объектно-ориентированное программирование» 1 46.12kb.
Вопросы обеспечения балансовой и оперативной надежности энергосистемы 1 80.87kb.
Викторина для любознательных: «Занимательная биология» 1 9.92kb.

Лабораторные работы по курсу Объектно-ориентированное программирование: язык программирования - страница №5/9

Вариант 2. Требования к программе


Определить новые версии классов Edition и Magazine из лабораторной работы 2.

В новой версии класса Magazine использовать типы

System.Collections.Generic.List для списка редакторов журнала;

System.Collections.Generic.List

для списка статей в журнале.

В новых версиях классов Edition и Magazine сохранить все остальные поля, свойства и методы из предыдущей версии класса, внести необходимые исправления в код свойств и методов из-за изменения типов полей для списка редакторов и списка статей.

В класс Edition добавить реализацию

интерфейсa System.IComparable для сравнения объектов Edition по полю с названием издания;

интерфейсa System.Collections.Generic.IComparer для сравнения объектов Edition по дате выхода издания.

Определить вспомогательный класс, реализующий интерфейс System.Collections.Generic.IComparer, который можно использовать для сравнения объектов типа Edition по тиражу издания.

Определить класс MagazineCollection, который содержит

закрытое поле типа System.Collections.Generic.List;

метод void AddDefaults (), c помощью которого в список List можно добавить некоторое число элементов типа Magazine для инициализации коллекции по умолчанию;

метод void AddMagazines ( params Magazine []) для добавления элементов в список List;

перегруженную версию виртуального метода string ToString() для формирования строки с информацией обо всех элементах списка List, в том числе значения всех полей, список редакторов журнала и список статей в журнале для каждого элемента Magazine;

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

В классе MagazineCollection определить свойства и методы, выполняющие сортировку списка List

по названию издания с использованием интерфейса IComparable, реализованного в классе Edition;

по дате выхода издания с использованием интерфейса IComparer, реализованного в классе Edition;

по тиражу издания с использованием интерфейса IComparer, реализованного во вспомогательном классе.

В классе MagazineCollection определить методы, выполняющие операции со списком List с использованием методов расширения класса System.Linq.Enumerable и статические методы-селекторы, которые необходимы для выполнения соответствующих операций с коллекциями:

свойство типа double (только с методом get), возвращающее максимальное значение среднего рейтинга статей для элементов списка List; если в коллекции нет элементов, свойство возвращает некоторое значение по умолчанию; для поиска максимального значения среднего рейтинга статей надо использовать метод Max класса System.Linq.Enumerable;

свойство типа IEnumerable (только с методом get), возвращающее подмножество элементов списка List с периодичностью выхода журнала Frequency.Monthly; для формирования подмножества использовать метод Where класса System.Linq.Enumerable;

метод List RatingGroup(double value), который возвращает список, содержащий элементы Magazine из List со средним рейтингом статей, который больше или равен value; для формирования списка использовать методы Group и ToList класса System.Linq.Enumerable.

Определить класс TestCollections, в котором в качестве типа TKey используется класс Edition, а в качестве типа TValue - класс Magazine. Класс содержит закрытые поля с коллекциями типов

System.Collections.Generic.List;

System.Collections.Generic.List;

System.Collections.Generic.Dictionary ;

System.Collections.Generic.Dictionary .

В классе TestCollection определить

статический метод с одним целочисленным параметром типа int, который возвращает ссылку на объект типа Magazine и используется для автоматической генерации элементов коллекций;

конструктор c параметром типа int (число элементов в коллекциях) для автоматического создания коллекций с заданным числом элементов;

метод, который вычисляет время поиска элемента в списках List и List, время поиска элемента по ключу и время поиска элемента по значению в коллекциях-словарях Dictionary< Edition, Magazine> и Dictionary.

В методе Main()


  1. Создать объект типа MagazineCollection. Добавить в коллекцию несколько элементов типа Magazine с разными значениями полей и вывести объект MagazineCollection.

49. Для созданного объекта MagazineCollection вызвать методы, выполняющие сортировку списка List по разным критериям, и после каждой сортировки вывести данные объекта. Выполнить сортировку

по названию издания;

по дате выхода издания;

по тиражу издания.

50.Вызвать методы класса MagazineCollection, выполняющие операции со списком List, и после каждой операции вывести результат операции. Выполнить

вычисление максимального значения среднего рейтинга статей для элементов списка; вывести максимальное значение;

фильтрацию списка для отбора журналов с периодичностью выхода Frequency.Monthly, вывести результат фильтрации;

группировку элементов списка по значению среднего рейтинга статей; вывести все группы элементов.

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

Вариант 3. Требования к программе


Определить новые версии классов Team и ResearchTeam из лабораторной работы 2.

В новой версии класса ResearchTeam использовать типы

System.Collections.Generic.Listдля списка участников проекта;

System.Collections.Generic.List


для списка публикаций;

В новых версиях классов Team и ResearchTeam сохранить все остальные поля, свойства и методы из предыдущих версий, внести необходимые исправления в код свойств и методов из-за изменения типа полей для списков.

В новую версию класса Team добавить реализацию интерфейсa System.IComparable для сравнения объектов Team по полю с номером регистрации.

В новую версию класса ResearchTeam добавить реализацию интерфейсa System.Collections.Generic.IComparer для сравнения объектов ResearchTeam по названию темы исследований.

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

Определить класс ResearchTeamCollection, который содержит

закрытое поле типа System.Collections.Generic.List;

метод void AddDefaults (), c помощью которого в список List можно добавить некоторое число элементов типа ResearchTeam для инициализации коллекции по умолчанию;

метод void AddResearchTeams ( params ResearchTeam []) для добавления элементов в список List;

перегруженную версию виртуального метода string ToString() для формирования строки c информацией обо всех элементах списка List, которая содержит значения всех полей, список участников проекта и список публикаций для каждого элемента ResearchTeam;

виртуальный метод string ToShortString(), который формирует строку с информацией обо всех элементах списка List, включающую значения всех полей, число участников проекта и число публикаций для каждого элемента ResearchTeam, но без списков участников и публикаций.
В классе ResearchTeamCollection определить методы, выполняющие сортировку списка List

по номеру регистрации с использованием интерфейса IComparable, реализованного в классе Team;

по названию темы исследований с использованием интерфейса IComparer, реализованного в классе ResearchTeam;

по числу публикаций с использованием интерфейса IComparer, реализованного во вспомогательном классе.

В классе ResearchTeamCollection определить свойства и методы, выполняющие операции со списком List с использованием методов расширения класса System.Linq.Enumerable и статические методы-селекторы, которые необходимы для выполнения соответствующих операций со списком:

свойство типа int (только с методом get), возвращающее минимальное значение номера регистрации для элементов списка List; если в коллекции нет элементов, свойство возвращает некоторое значение по умолчанию; для поиска минимального значения номера регистрации надо использовать метод Min класса System.Linq.Enumerable;

свойство типа IEnumerable (только с методом get), возвращающее подмножество элементов списка List с продолжительностью исследований TimeFrame.TwoYears; для формирования подмножества использовать метод Where класса System.Linq.Enumerable;

метод List NGroup(int value), который возвращает список, в который входят элементы ResearchTeam из списка List с заданным числом участников исследования; для формирования списка использовать методы Group и ToList класса System.Linq.Enumerable.

Определить класс TestCollections, в котором в качестве типа TKey используется класс Team, а в качестве типа TValue - класс ResearchTeam. Класс содержит закрытые поля с коллекциями типов

System.Collections.Generic.List;

System.Collections.Generic.List;

System.Collections.Generic.Dictionary ;

System.Collections.Generic.Dictionary .

В классе TestCollections определить

статический метод с одним целочисленным параметром типа int, который возвращает ссылку на объект типа ResearchTeam и используется для автоматической генерации элементов коллекций;

конструктор c параметром типа int (число элементов в коллекциях) для автоматического создания коллекций с заданным числом элементов;

метод, который вычисляет время поиска элемента в списках List и List, время поиска элемента по ключу и время поиска значения элемента в коллекциях-словарях Dictionary и Dictionary .

В методе Main()



  1. Создать объект типа ResearchTeamCollection. Добавить в коллекцию несколько элементов типа ResearchTeam с разными значениями полей и вывести объект ResearchTeamCollection.

52. Для созданного объекта ResearchTeamCollection вызвать методы, выполняющие сортировку списка List по разным критериям, и после каждой сортировки вывести данные объекта. Выполнить сортировку

по номеру регистрации;

по названию темы исследований;

по числу публикаций.

53.Вызвать методы класса ResearchTeamCollection, выполняющие операции со списком List, и после каждой операции вывести результат операции. Выполнить

вычисление минимального значения номера регистрации для элементов списка; вывести минимальное значение;

фильтрацию проектов с продолжительностью исследований TimeFrame.TwoYears, вывести результат фильтрации;

группировку элементов списка по числу публикаций; вывести все группы элементов из списка.

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

<< предыдущая страница   следующая страница >>