Skip to content

Latest commit

 

History

History
150 lines (101 loc) · 12.9 KB

File metadata and controls

150 lines (101 loc) · 12.9 KB

Лабораторна робота №7

Колекції: списки, множини, відображення. Порівняння об’єктів.

Тема: Розробка та реалізація програм із використанням колекцій для зберігання даних та файлового введення-виведення.

Мета роботи: отримати навички створення та реалізації програм, що використовують колекції для зберігання та опрацювання даних та реалізують операції введення-виведення із файлами.

Завдання до лабораторної роботи

  1. Створити клас згідно завданням. Для зберігання об’єктів використовувати один з типів колекцій.

  2. Створити інтерактивне меню, за допомогою якого надати можливість користувачеві виконувати додавання нових та вилучення існуючих елементів з колекції, файлові операції введення-виведення та запити відповідно варіанту завдання.

  3. Реалізувати операції пошуку елементів у колекції, вилучення знайденого об’єкта та перегляд вмісту колекції.

  4. У додаткових пунктах завдання (а саме на пункти e та f) бажано використовувати Map, або доцільний тип колекції.

P.S. Рекомендується використовувати графічний інтерфейс.

Варіанти завдань

Варіант 1.

Student: id, Прізвище, Ім’я, По батькові, Дата народження, Адреса, Телефон, Факультет, Курс, Група.

Створити колекцію об’єктів. Вивести:

  1. список студентів заданого факультету;

  2. список студентів, які народились після заданого року;

  3. список навчальної групи в порядку алфавіту;

  4. список студентів впорядкований за алфавітом назви факультету, а для студентів одного факультету – за датою народження

  5. список всіх факультетів, інформація про студентів яких є у програмі без повторів

  6. для всіх факультетів, визначених у пункті e) визначити кількість студентів, що там навчаються та вивести цю інформацію у зручному вигляді.

Варіант 2.

Customer: id, Прізвище, Ім’я, По батькові, Дата народження, Адреса, Номер кредитної картки, Баланс рахунку (кількість грошей).

Створити колекцію об’єктів. Вивести:

  1. список покупців, із вказаним іменем;

  2. список покупців, у яких номер кредитної картки знаходиться в заданому інтервалі;

  3. кількість та список покупців, які мають заборгованість (від’ємний баланс на карті) в порядку зростання заборгованості

  4. список покупців, упорядкований за зростанням балансу рахунку, а при рівності балансів – за номером кредитної картки

  5. список років народження покупців, зареєстрованих у програмі без повторів

  6. для кожного року народження визначити покупця, що має найбільшу кількість грошей на картці

Варіант 3.

Patient: id, Прізвище, Ім’я, По батькові, Адреса, Телефон, Номер медичної карти, Діагноз.

Створити колекцію об’єктів. Вивести:

  1. список пацієнтів, які мають вказаний діагноз в порядку зростання номерів медичної картки;

  2. список пацієнтів, номер медичної карти у яких знаходиться в заданому інтервалі;

  3. кількість та список пацієнтів, номер телефона яких починається з вказаної цифри;

  4. список діагнозів пацієнтів (без повторів) із вказанням кількості пацієнтів, що мають цей діагноз у порядку спадання цієї кількості;

  5. список діагнозів пацієнтів, зареєстрованих у системі без повторів;

  6. для кожного діагнозу визначити кількість пацієнтів, яким він поставлений.

Варіант 4.

Abiturient: id, Прізвище, Ім’я, По батькові, Адреса, Телефон, Середній бал.

Створити колекцію об’єктів. Вивести:

  1. список абітурієнтів із вказаним іменем, в порядку спадання середнього балу;

  2. список абітурієнтів, середній бал у яких вище заданого;

  3. вибрати задане число n абітурієнтів, що мають найвищий середній бал.

  4. список абітурієнтів в порядку алфавіту за прізвищем, при збігу прізвищ – за іменами;

  5. список років народження абітурієнтів в порядку зростання без повторів;

  6. визначити кількість абітурієнтів кожного року народження.

Варіант 5.

Book: id, Назва, Автор, Видавництво, Рік видання, Кількість сторінок, Ціна.

Створити колекцію об’єктів. Вивести:

  1. список книг заданого автора в порядку зростання року видання;

  2. список книг, що видані заданим видавництвом;

  3. список книг, що випущені після заданого року;

  4. список авторів в алфавітному порядку;

  5. список видавництв, книги яких зареєстровані в системі без повторів;

  6. для кожного видавництва визначити список книг, виданих ним.

Варіант 6.

House: id, Номер квартири, Площа, Поверх, Кількість кімнат, Вулиця.

Створити колекцію об’єктів. Вивести:

  1. список квартир, які мають задане число кімнат;

  2. список квартир, які мають задане число кімнат та розташовані на поверсі, який знаходиться в заданому проміжку;

  3. список квартир, які мають площу, що перевищує задану в порядку спадання площі. Якщо площа однакова – то в порядку зростання поверху;

  4. список всіх квартир, в порядку зростання площі ;

  5. список поверхів на яких розташовані квартири, у порядку спадання;

  6. для кожного поверху визначити список квартир

Варіант 7.

Phone: id, Прізвище, Ім’я, По батькові, Номер рахунку, Час міських розмов, Час міжміських розмов.

Створити колекцію об’єктів. Вивести:

  1. відомості про абонентів, у яких час міських розмов перевищує заданий;

  2. відомості про абонентів, які користувались міжміським зв’язком в порядку алфавіту за прізвищем, при однакових прізвищах – за іменами, потім по-батькові;

  3. відомості про абонентів чий номер рахунку знаходиться у вказаному діапазоні;

  4. відомості про всіх абонентів в порядку зростання сумарного часу розмов;

  5. список міст, телефони з яких зареєстровані в системі;

  6. для кожного міста визначити список телефонів з нього.

Варіант 8.

Car: id, Модель, Рік випуску, Ціна, Реєстраційний номер.

Створити колекцію об’єктів. Вивести:

  1. список автомобілів заданої моделі в порядку зростання року випуску;

  2. список автомобілів заданої моделі, які експлуатуються більше n років;

  3. список автомобілів заданого року випуску, ціна яких більше вказаної;

  4. список автомобілів в порядку спадання ціни. Якщо ціна однакова, то в порядку зростання року випуску;

  5. список моделей автомобілів, зареєстрованих у програмі;

  6. для кожної моделі вивести список автомобілів.

Варіант 9.

Product: id, Найменування, Виробник, Ціна, Термін зберігання, Кількість.

Створити колекцію об’єктів. Вивести:

  1. список товарів для заданого найменування в порядку спадання терміну зберігання;

  2. список товарів для заданого найменування, ціна яких не перевищує задану;

  3. список товарів, термін зберігання яких більше заданого;

  4. список товарів, впорядкований за зростанням вартості (кількість * ціна), якщо вартість однакова, то за спаданням ціни;

  5. список виробників продуктів, зареєстрованих в програмі;

  6. для кожного виробника вивести список продуктів, які він виробляє.

Варіант 10.

Train: id, Пункт призначення, Номер поїзду, Час відправки, Число місць (загальних, купе, плацкарт, люкс).

Створити колекцію об’єктів. Вивести:

  1. список поїздів, які прямують до заданого пункту призначення в порядку зростання часу відправки, якщо час однаковий – за зростанням номеру поїзда;

  2. список поїздів, які прямують до заданого пункту призначення та відправляються після заданої години;

  3. список поїздів, які відправляються до заданого пункту призначення та мають загальні місця;

  4. список поїздів, які відправляються до заданого пункту призначення в порядку зростання кількості всіх місць;

  5. список пунктів призначення (без повторів) в порядку зростання кількості поїздів, що до них прямують, якщо кількість однакова – в порядку алфавіту;

  6. для кожного пункту призначення вивести список поїздів, які до нього прямують.