Классы, поля, свойства методы. Одномерные, прямоугольные и ступенчатые массивыЛабораторная работа 2 Классы, поля, свойства методы. Одномерные, прямоугольные и ступенчатые массивы Требования к программе, общие для всех вариантов Определить класс Person, который имеет закрытое поле типа string, в котором хранится имя; закрытое поле типа string, в котором хранится фамилия; закрытое поле типа System.DateTime для даты рождения.
В классе Person определить свойства c методами get и set: · свойство типа string для доступа к полю с именем; · свойство типа string для доступа к полю с фамилией; · свойство типа DateTime для доступа к полю с датой рождения; · свойство типа int c методами get и set для получения информации(get) и изменения (set) года рождения в закрытом поле типа DateTime, в котором хранится дата рождения.
В классе Person определить конструкторы: · конструктор c тремя параметрами типа string, string, DateTime для инициализации всех полей класса; · конструктор без параметров, инициализирующий все поля класса некоторыми значениями по умолчанию.
В классе Person определить · перегруженную(override) версию виртуального метода string ToString() для формирования строки со значениями всех полей класса; · виртуальный метод string ToShortString(), который возвращает строку, содержащую только имя и фамилию.
Cравнить время, необходимое для выполнения операций с элементами одномерного, двумерного прямоугольного и двумерного ступенчатого массивов с одинаковым числом элементов. Для этого в методе Main() создать · одномерный массив; · двумерный прямоугольный массив; · двумерный ступенчатый массив. Тип элементов массивов зависит от варианта задания. Массивы должны иметь одинаковое число элементов. Если число строк в двумерном прямоугольном массиве равно nrow, а число столбцов ncolumn, то одномерный массив должен содержать nrow*ncolumn элементов, в двумерном ступенчатом массиве общее число элементов также должно быть равно nrow*ncolumn. Значения nrow и ncolumn вводятся в процессе работы приложения в виде одной строки с разделителями. В приглашении, которое получает пользователь, должна быть информация о том, какие символы можно использовать как разделители, число разделителей должно быть больше 1. С помощью метода Split класса System.String приложение разбирает введенную пользователем текстовую строку с информацией о числе строк и числе столбцов двумерного массива и присваивает значения переменным, которые содержат значения nrow и ncolumn. В задании не требуется обрабатывать ошибки ввода, предполагается, что пользователь правильно ввел данные. Приложение распределяет память для всех массивов и инициализирует элементы массивов. Для инициализации элементов можно использовать конструктор без параметров. Для всех элементов массивов выполняется одна и та же операция, например, присваивается значение одному из свойств, определенных для элементов массива. В задании требуется сравнить время выполнения этой операции для одномерного, двумерного прямоугольного и двумерного ступенчатого массивов с одинаковым числом элементов. Для измерения времени выполнения операций можно использовать свойство Environment.TickCount. Cтатическое свойство TickCount класса Environment имеет тип int, использует информацию системного таймера и содержит время в миллисекундах, которое прошло с момента перезагрузки компьютера. Чтобы получить время выполнения некоторого блока кода, необходимо вызвать Environment.TickCount непосредственно перед блоком и сразу же после последнего оператора блока и взять разность значений. В блоке кода, для которого измеряется время, не должно быть операций распределения памяти для массивов, инициализации элементов массивов и операций вывода данных на консоль. Блоки кода должны содержать только операции с элементами массива. Вычисленные значения времени выполнения операций для трех типов массивов, а также число строк nrow и столбцов ncolumn выводятся на консоль. Вывод должен быть подписан, т.е. вывод должен содержать информацию о том, какому типу массива отвечает выведенное значение.
|