Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2012, 21:44   #1
evgeniyhbk
 
Регистрация: 19.04.2011
Сообщений: 9
Вопрос Легкая прога на С#

Здравствуйте !
Хочу предоставить вам лабу, знаю что не тяжелая, хотя на С# не работал.
Так как нам дали на практику, а я в больнице, то сделать не получается, кто сможет сделать, буду очень признателен.
Вот вообщем эта лаба:

Требования к программе
Определить класс 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 выводятся на консоль. Вывод должен быть подписан, т.е. вывод должен содержать информацию о том, какому типу массива отвечает выведенное значение.

Продолжение в следующем сообщении !

Заранее спасибо !

Последний раз редактировалось evgeniyhbk; 05.06.2012 в 23:55.
evgeniyhbk вне форума Ответить с цитированием
Старый 05.06.2012, 21:47   #2
evgeniyhbk
 
Регистрация: 19.04.2011
Сообщений: 9
По умолчанию

Вот продолжение !!!
Определить тип Education - перечисление(enum) со значениями Specialist, Вachelor, SecondEducation.
Определить класс Exam, который имеет три открытых автореализуемых свойства, доступных для чтения и записи:
• свойство типа string, в котором хранится название предмета;
• свойство типа int, в котором хранится оценка;
• свойство типа System.DateTime для даты экзамена.

В классе Exam определить:
• конструктор с параметрами типа string, int и DateTime для инициализации всех свойств класса;
• конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию;
• перегруженную(override) версию виртуального метода string ToString() для формирования строки со значениями всех свойств класса.

Определить класс Student, который имеет
• закрытое поле типа Person, в котором хранятся данные студента;
• закрытое поле типа Education для информации о форме обучения;
• закрытое поле типа int для номера группы;
• закрытое поле типа Exam [] для информации об экзаменах, которые сдал студент.

В классе Student определить свойства c методами get и set:
• свойство типа Person для доступа к полю с данными студента;
• свойство типа Education для доступа к полю с формой обучения;
• свойство типа int для доступа к полю с номером группы;
• свойство типа Exam [] для доступа к полю со списком экзаменов.

В классе Student определить конструкторы:
• конструктор c параметрами типа Person, Education, int для инициализации соответствующих полей класса;
• конструктор без параметров, инициализирующий поля класса значениями по умолчанию.

В классе Student определить
• свойство типа double ( только с методом get), в котором вычисляется средний балл как среднее значение оценок в списке сданных экзаменов;
• индексатор булевского типа (только с методом get) с одним параметром типа Education; значение индексатора равно true, если значение поля с формой обучения студента совпадает со значением индекса, и false в противном случае;
• метод void AddExams ( params Exam [] ) для добавления элементов в список экзаменов;
• перегруженную версию виртуального метода string ToString() для формирования строки со значениями всех полей класса, включая список экзаменов;
• виртуальный метод string ToShortString(), который формирует строку со значениями всех полей класса без списка экзаменов, но со значением среднего балла.

В методе Main()
1. Создать один объект типа Student, преобразовать данные в текстовый вид с помощью метода ToShortString() и вывести данные.
2. Вывести значения индексатора для значений индекса Education.Specialist, Education.Bachelor и Education.SecondEducation.
3. Присвоить значения всем определенным в типе Student свойствам, преобразовать данные в текстовый вид с помощью метода ToString() и вывести данные.
4. C помощью метода AddExams( params Exam [] ) добавить элементы в список экзаменов и вывести данные объекта Student, используя метод ToString().
5. Сравнить время выполнения операций с элементами одномерного, двумерного прямоугольного и двумерного ступенчатого массивов с одинаковым числом элементов типа Exam.
evgeniyhbk вне форума Ответить с цитированием
Старый 05.06.2012, 22:02   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Мдя... Такое возьмут только за плату...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.06.2012, 18:18   #4
evgeniyhbk
 
Регистрация: 19.04.2011
Сообщений: 9
По умолчанию

Профессионалу потребуется минут 30, да и навык повысит.
Если что Skype (насчет оплаты)
evgeniyhbk вне форума Ответить с цитированием
Старый 07.06.2012, 18:30   #5
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Цитата:
Сообщение от evgeniyhbk Посмотреть сообщение
Профессионалу потребуется минут 30, да и навык повысит.
Если что Skype (насчет оплаты)
Для такой лабы профессионала не нужно, достаточно 1го курса программирования на С# и студента
Lime вне форума Ответить с цитированием
Старый 07.06.2012, 20:51   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Для подобных тем есть раздел Фриланс.
Arigato вне форума Ответить с цитированием
Старый 07.06.2012, 21:57   #7
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Написал обе
Lime вне форума Ответить с цитированием
Старый 07.06.2012, 22:45   #8
evgeniyhbk
 
Регистрация: 19.04.2011
Сообщений: 9
По умолчанию

Можешь выложишь пожалуйста.
evgeniyhbk вне форума Ответить с цитированием
Старый 08.06.2012, 00:50   #9
evgeniyhbk
 
Регистрация: 19.04.2011
Сообщений: 9
По умолчанию

Тема уже не актуальна
evgeniyhbk вне форума Ответить с цитированием
Старый 13.11.2013, 02:09   #10
mrtwoster
Новичок
Джуниор
 
Регистрация: 13.11.2013
Сообщений: 1
По умолчанию выложите сурс

Тоже решил глянуть эти задания. Выполнил всё, кроме кроме манипуляций со списком Exam[]. Может кто что подскажет? Спасибо заранее
mrtwoster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Легкая CMS Vikenty WordPress и другие CMS 19 01.02.2011 16:30
Легкая agressenok Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 08.12.2010 07:32
легкая проблемка Domanoff Общие вопросы Delphi 8 21.04.2010 15:18
Легкая задачка в C# OnlySergio Помощь студентам 5 21.11.2009 15:02
Легкая задачка Васька Паскаль, Turbo Pascal, PascalABC.NET 1 29.11.2008 14:55