Лабораторная работа №6.1. ООП. Основы.
March 13, 2023 · View on GitHub
Реализовать одно задание, номер которого выдаст преподаватель
Разработать класс для объекта. Сформировать набор данных и реализовать выборки с помощью LINQ-запросов.
Список полей и выборок приведён примерный - во всех заданиях должны быть реализованы свойства с типами int, double, DateTime или TimeSpan, string, boolean и выборки с использованием этих свойств.
Тип TimeSpan хранит часы, минуты, секунды - обычно используется для хранения результата вычитания двух дат, но можно использовать и сам по себе.
В разных выборках, кроме собственно выборки данных, использовать дополнительные методы LINQ-запросов (сортировка, лимит и т.д.)
Если работу с CSV ещё не проходили, то сформировать список исходных данных программно (не менее 5-ти элементов), например:
var Users = new List<User>
{
new User {Name="Том", Age=23},
new User {Name="Боб", Age=25},
...
};
Переменные с типом DateTime и TimeSpan создаются с помощью конструкторов:
var BirthDay = new DateTime(2002, 1, 31);
var DateDiff = new TimeSpan(33, 0, 0);
Напоминаю структуру проекта:
namespace HelloApp
{
// описываем новый класс в пространстве имен (namespace)
class Person
{
// используем CamelCase - все слова (в переменных и методах) с большой буквы
public string FirstName;
public DateTime BirthDay;
}
// существующий класс не трогаем
class Program
{
static void Main(string[] args)
{
// формируем набор данных (список объектов вашего типа)
var Users = new List<Person>
{
new Person {FirstName="Том", BirthDay=new DateTime(2002,1,31)},
new Person {FirstName="Боб", BirthDay=new DateTime(2004,12,1)}
};
// дальше LINQ-запросы
}
}
}
-
Student: Фамилия, Имя, Отчество, Дата рождения, Адрес, Телефон, Факультет, Курс. Данные загрузить из CSV-файла. Вывести:
- список студентов заданного факультета;
- списки студентов для каждого факультета и курса;
- список студентов, родившихся после заданного года.
-
Abiturient: Фамилия, Имя, Отчество, Адрес, Оценки, Дата. Данные загрузить из CSV-файла. Вывести:
- список абитуриентов, имеющих неудовлетворительные оценки;
- список абитуриентов, сумма баллов у которых не меньше заданной;
- выбрать N абитуриентов, имеющих самую высокую сумму баллов, и список абитуриентов, имеющих полупроходной балл.
-
Aeroflot: Пункт назначения, Номер рейса, Тип самолета, Время вылета, Дни недели. Данные загрузить из CSV-файла. Вывести:
- список рейсов для заданного пункта назначения;
- список рейсов для заданного дня недели;
- список рейсов для заданного дня недели, время вылета для которых больше заданного.
-
Book: Автор, Название, Издательство, Год, Количество страниц. Данные загрузить из CSV-файла. Вывести:
- список книг заданного автора;
- список книг, выпущенных заданным издательством;
- список книг, выпущенных после заданного года.
-
Worker: Фамилия и инициалы, Должность, Год поступления на работу, Зарплата. Данные загрузить из CSV-файла. Вывести:
- список работников, стаж работы которых на данном предприятии превышает заданное число лет;
- список работников, зарплата которых больше заданной;
- список работников, занимающих заданную должность.
-
Train: Пункт назначения, Номер поезда, Время отправления, Число общих мест, Купейных, Плацкартных. Данные загрузить из JSON-файла. Вывести:
- список поездов, следующих до заданного пункта назначения;
- список поездов, следующих до заданного пункта назначения и отправляющихся после заданного часа;
- список поездов, отправляющихся до заданного пункта назначения и имеющих общие места.
-
Product: Наименование, Производитель, Цена, Срок хранения, Количество. Данные загрузить из JSON-файла. Вывести:
- список товаров для заданного наименования;
- список товаров для заданного наименования, цена которых не превышает указанной;
- список товаров, срок хранения которых больше заданного.
-
Patient: Фамилия, Имя, Отчество, Адрес, Номер медицинской карты, Диагноз. Данные загрузить из JSON-файла. Вывести:
- список пациентов, имеющих данный диагноз;
- список пациентов, номер медицинской карты которых находится в заданном интервале.
-
Bus: Фамилия и инициалы водителя, Номер автобуса, Номер маршрута, Марка, Год начала эксплуатации, Пробег. Данные загрузить из JSON-файла. Вывести:
- список автобусов для заданного номера маршрута;
- список автобусов, которые эксплуатируются больше 10 лет;
- список автобусов, пробег у которых больше 10 000 км.
-
Customer: Фамилия, Имя, Отчество, Адрес, Телефон, Номер кредитной карточки, Номер банковского счета. Данные загрузить из JSON-файла. Вывести:
- список покупателей в алфавитном порядке;
- список покупателей, номер кредитной карточки которых находится в заданном интервале.
-
Процедурный кабинет: забор различных анализов
-
Автосалон