Пример использования класса List


 

using System;

using System.Collections.Generic;

class Program {

static void Main() {

List<int> lint = new List<int>();

lint.Add(5);

lint.Add(1);

lint.Add(3);

lint.Sort();

int a = lint[2];

Console.WriteLine(a);

foreach (int x in lint)

Console.Write( x + " ");

}

}

 

Вывод:

1 3 5

Задание

 

1. Составить программу на языке C# для обработки структурированных данных с помощью классов-коллекций. В программе согласно индивидуальному заданию (табл. 15):

­ определить базовый класс как абстрактный;

­ ввести в абстрактный класс дополнительный абстрактные методы для изменения значений полей класса.

­ в производных классах переопределить наследуемый метод для специализированной операции изменения полей класса (операции выбрать самостоятельно).

2. Создать класс по принципу «включение-делегирование», содержащий коллекцию производных от базового абстрактного класса объектов. Для реализации выбрать один из предложенных в табл. 15 производных классов. Описать следующие методы:

­ добавления в коллекцию новых объектов;

­ изменения свойств и полей имеющихся объектов по номеру объекта в коллекции;

­ удаление из коллекции объекта по его номеру;

­ вывода информации об имеющихся в коллекции объектах.

3. Продемонстрировать работу класса, построенного по принципу «включение-делегирование». Для этого в методе Main реализовать текстовое меню для выбора одного из возможных действий:

­ добавить в коллекцию объект (производного класса).

­ внести изменения в характеристики объекта коллекции.

­ удалить объект из коллекции.

­ вывести сведения по имеющимся в коллекции объектам.

­ выход из программы.

Реализация текстового меню рассмотрена в разделе в разделе Организация пользовательского интерфейса.

4. Разработать модульный тест для проверки работоспособности заданного метода обработки данных, в том числе для контроля исключений. Результаты тестирования сохранить в файле test.log.

5. В отчете представить:

­ листинг программы;

­ описание различий в работе конструкторов базового и производного классов;

­ распечатку результатов работы метода Main по каждому пункту меню;

­ описание тестирования и распечатки файла test.log;

­ выводы по работе.

 

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

 

№ вар. Класс-коллекция Базовый абстрактный класс Производные классы (дополнительные атрибуты) Метод для тестирования
Книжный магазин печатное издание (издательство, число страниц) книга (авторы, ISBN), журнал (периодичность издания, ISSN) Добавление
Магазин товар (количество, стоимость) продуктовые товары (калорийность), бытовая химия (срок годности), одежда (размер, фасон) Изменение
Парк ЭВМ компьютер (тактовая частота, объем оперативной памяти) десктоп (тип корпуса) ноутбук (время работы батареи) планшет (операционная система) Удаление
Транспортная компания транспортное средство (год выпуска, дата последнего ремонта) автомобиль (число осей), поезд (число вагонов), судно (водоизмещение) Добавление
Зоопарк животное (номер, возраст, кличка) млекопитающие (наличие когтей, наличие рогов), птицы (размах крыльев, осёдлость), насекомые (наличие крыльев) Изменение
Порт судно (имя, водоизмещение) военный корабль (число орудий), танкер (вместимость), катер (число пассажирских мест) Удаление
Автопарк автомобиль (модель, год выпуска, число мест, госномер) грузовой автомобиль (грузоподъемность) рейсовый автобус (номер рейса), заказной автобус (номер заказа) Добавление
Студенческая группа студент (фамилия, имя, курс и ид. номер) студент-практикант (вид практики, наименование предприятия) студент-дипломник (тема ВКР, ФИО руководителя) Изменение
Магазин «Соки-Воды» напиток (производитель, цена) сок (ингредиенты), минеральная вода (показатель pH), газированный напиток (степень газированности) Удаление
Парк самолетов самолет (модель, максимальная дальность полета) военный самолет, пассажирский самолёт, спортивный самолет Добавление
Библиотека программ для ЭВМ компьютерная программа (название, объем кода, язык программирования) служебная программа (версия программы, дата обновления) прикладная программа (назначение, категория пользователей) Изменение
Кафедра в вузе преподаватель вуза (ФИО, должность, ученая степень, дата прохождения медосмотра) свободный преподаватель (объем почасовой работы); преподаватель, работающий в администрации вуза (административная должность) Удаление
Жилой массив здание (число этажей, материал стен, адрес) жилое здание (число подъездов, число квартир на этаже) промышленное здание (число и дата заправки огнетушителей), Добавление
Салон мобильной связи мобильный телефон (производитель, время работы батареи) кнопочный телефон (число кнопок, наличие/отсутствие камеры) смартфон (версия ОС, дата обновления ПО) Изменение
Университет учащийся (ФИО, дата рождения) бакалавр (ФИО тьютора), магистрант (ФИО научного руководителя), аспирант (научная специальность) Удаление
Больница медицинский работник (ФИО, пол, возраст, стаж) медсестра (медицинская специализация) врач (медицинская специальность, категория, дата повышения квалификации) зав. отделением (число подчиненных) Добавление
Департамент работник (ФИО, общий стаж) штатный работник (дополнительные обязанности), внутр. совместитель (департамент штатной работы), внеш. совместитель (осн. место работы), руководитель (дата повышения квалификации по менеджменту) Изменение
Фотомагазин фотоаппарат (модель, стоимость, вес) пленочный (наличие вспышки, тип пленки) зеркальный фотоаппарат (тип резьбы объектива) Удаление
Энергосистема страны электростанция (дата ввода в эксплуатацию, проектная мощность) АЭС (число и тип реакторов) ГЭС (число и мощность турбин) ТЭЦ (вид топлива, КПД) Добавление
Химический кабинет жидкие реактивы (название, плотность, цвет, запах) кислотные (концентрация), летучие (скорость испарения) Изменение

 

 

Контрольные вопросы

 

1. Что такое включение, какого вида бывают включения?

2. Что такое делегирование?

3. Что такое класс-коллекция?

4. Раскрыть механизм включения-делегирования на конкретном примере.

5. Перечислите и прокомментируйте основные методы класса List.

 

 


 



Дата добавления: 2021-12-14; просмотров: 442;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.