- •Работа №1. Задача. Познакомиться с основой объектного подхода1 в языке c#, созданием объектов, классов и механизмом наследования. Порядок выполнения работы:
- •Варианты заданий2
- •Контрольные вопросы:
- •Работа №3. Задача. Познакомиться с возможностями работы с файлами. Порядок выполнения работы:
- •5. Подготовить документальный отчет, содержащий пять описанных выше документов. Варианты заданий:
Работа №3. Задача. Познакомиться с возможностями работы с файлами. Порядок выполнения работы:
1. Создать классы:
факультетов (данные о курсах и группах)
предметов
public class XPredmetList
{
public static string[] GetNames()
{
return items.ToArray();
}
static List<string> items;
// конструктор класса, кот. устанавливает список предметов
static XPredmetList()
{
items.AddRange(new string[] { "p1", "p2", "p3" });
}
}
оценок
public class XMark
{
// код предмета
int predmetCode;
// оценка по предмету
int mark;
// дата сдачи
DateTime examDate;
// метод получения названия предмета
public string GetPredmetName()
{
return XPredmetList.GetNames()[this3.predmetCode];
}
}
студентов (фамилия, факультет, курс, группа, экзаменационные оценки).
public class Student
{
int studentID;
// Имя студента
string firstName;
// Фамилия студента
string surName;
// Оценки данного студента
List<XMark> exams = new List<XMark>();
}
2. Реализовать возможность ввода, удаления, редактирования данных в массив (коллекцию).
3. Реализовать вывод результата запроса в соответствии с вариантом исполнения в файл.
4. Реализацию перечисленных действий представить в виде меню программы с возможностью повторов действий до выбора пункта «Выход из программы».
5. Подготовить документальный отчет, содержащий пять описанных выше документов. Варианты заданий:
Запрос состоит из определения:
фамилии студентов, у которых две, и более двоек за сессию на ФИВТе и удалить их (выведя сообщение);
факультет, на котором на первом курсе наибольшее количество отличников;
курс, на котором исключено большее количество студентов;
факультет с наибольшим количеством отличников;
определить полный список отличников с указанием факультета, группы и курса, где они учатся;
определить группу, где нет двоечников;
факультет и курс, на котором средний бал не меньше 3,5;
фамилии студентов, у которых нет троек и двоек;
факультет и группу, где наибольшее количество отличников;
фамилии студентов-отличников на третьем курсе;
предметы и перечень кафедр, на которых они присутствуют;
определить фамилии студентов, группу и факультет, где средний балл студентов 4,5;
удалить студентов первого курса, у которых три двойки;
группы, в которых нет двоечников;
фамилии студентов-отличников на первом и втором курсах по всем факультетам;
по каждой группе упорядочить фамилии по среднему балу;
факультеты, на которых нет двоечников;
фамилии студентов, которые не явились хотя бы на один экзамен (оценка 0);
удалить студентов, у которых средний балл ниже 3;
факультет, на котором на первом курсе наибольшее количество групп, где нет двоек;
курс с наибольшим количеством отличников;
факультет, на котором на первом курсе наибольшее количество двоечников;
группы, в которых нет отличников;
определить полный список двоечников с указанием факультета, группы и курса, где они учатся;
фамилии студентов-отличников на втором курсе с указанием группы и факультета, где они учатся.
1 ПРИНЦИПЫ ОБЪЕКТНОГО ПОДХОДА:
1) Абстрагирование – выделение главного, выявление видов абстракций;
2) Инкапсуляция – скрываем детали реализации
3) Иерархия – разбиение задачи на уровни и постепенное решение
4) Наследование – создание новых классов на основе имеющихся
5) Полиморфизм – это качество, которое позволяет одному интерфейсу получать доступ к целому классу действий.
2 Выбор варианта задания осуществляется самостоятельно в соответствии с двумя последними цифрами зачетной книжки.
3 Ключевое слово this обозначает ссылку на тот объект, функцию которого мы вызвали. Эта ссылка доступна в любом методе любого объекта.
