Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование задач с применением структурированных данных. Лабораторный практикум.pdf
X
- •ВВЕДЕНИЕ
- •ОБРАБОТКА МАССИВОВ ДАННЫХ С ПРИМЕНЕНИЕМ ФУНКЦИЙ
- •1.1. Общие рекомендации по работе с динамическими массивами
- •1.2. Пример программы для работы с динамическими массивами
- •1.3. Первое задание к лабораторной работе № 1
- •1.4. Общие рекомендации по использованию функций
- •ЛАБОРАТОРНАЯ РАБОТА № 2
- •ПРОГРАММНАЯ ОБРАБОТКА СТРОК И СТРУКТУР
- •2.1. Общие рекомендации по работе со строками
- •1.5. Пример программы для работы с функциями
- •1.6. Второе задание к лабораторной работе № 1
- •1.8. Третье задание к лабораторной работе № 1
- •2.2. Пример программы для работы со строками
- •2.3. Первое задание к лабораторной работе № 2
- •2.4. Общие рекомендации по работе с данными типа string
- •2.5. Второе задание к лабораторной работе № 2
- •2.6. Общие рекомендации по работе со структурами
- •2.7. Пример программы для работы со структурами
- •2.8. Третье задание к лабораторной работе № 2
- •Итого
- •Итого
- •Итого
- •Итого
- •Итого
- •Итого
- •Итого
- •Итого
- •ПРОГРАММНЫЕ МЕТОДЫ РАБОТЫ
- •С ЦЕЛОЧИСЛЕННЫМИ ДАННЫМИ
- •3.1. Общие рекомендации
- •3.2. Первое задание к лабораторной работе № 3
- •3.3. Системы счисления и перевод чисел из одной системы в другую
- •3.4. Второе задание к лабораторной работе № 3
- •ЛАБОРАТОРНАЯ РАБОТА № 4
- •ТЕХНОЛОГИИ РАБОТЫ С ФАЙЛАМИ
- •4.1. Общие рекомендации по работе с файлами
- •4.2. Первое задание для лабораторной работы № 4
- •4.3. Пример программы для работы с файлами структур
- •4.4. Второе задание для лабораторной работы № 4
- •ЛАБОРАТОРНАЯ РАБОТА № 5
- •МЕТОДЫ СОРТИРОВКИ И ИХ ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
- •5.1. Общие рекомендации по реализации методов сортировки
- •5.2. Задания к лабораторной работе № 5
- •ЛАБОРАТОРНАЯ РАБОТА № 6
- •ЛИНЕЙНЫЕ СПИСКИ
- •6.2. Пример программы работы с линейным списком
- •6.3. Задания к лабораторной работе № 6
- •ЛАБОРАТОРНАЯ РАБОТА № 7
- •ПРОГРАММНОЕ СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ КЛАССОВ
- •7.1. Общие рекомендации по работе с классами
- •7.2. Пример программы реализации класса
- •7.3. Задания к лабораторной работе № 7
- •ЛАБОРАТОРНАЯ РАБОТА № 8
- •РАБОТА С РОДИТЕЛЬСКИМИ И ДОЧЕРНИМИ КЛАССАМИ
- •8.2. Пример программы с виртуальными функциями
- •8.3. Виртуальные функции и абстрактные классы
- •8.4. Задания к лабораторной работе № 8
- •ЛАБОРАТОРНАЯ РАБОТА № 9
- •РАБОТА С КОНТЕЙНЕРНЫМИ КЛАССАМИ И МОДУЛЯМИ
- •9.1. Общие сведения о контейнерных классах и векторах
- •9.2. Общие сведения о модулях
- •9.3. Пример программы на С++
- •9.4. Задания к лабораторной работе № 9
- •ЗАКЛЮЧЕНИЕ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК

}
//Реализация функции сортировки данных в векторе
void sortirovka(vector<Student>L)
{
int n;
//Прорисовка подменю выбора критерия сортировки
cout << endl << "Выберите критерий сортировки" << endl;
cout << "1. По номеру зачетки" << endl;
cout << "2. По ФИО" << endl;
cout << "3. По группе" << endl;
cout << "4. По курсу" << endl;
cout << "Введите номер критерия" << endl;
cin >> n;
//В зависимости от выбора пользователя выбирается сортировка
//по тому или иному полю с использованием алгоритма sort
//с указанием соответствующей функции-компаратора
switch (n)
{
case 1: sort(L.begin(), L.end(), comp_zach);
vivod(L);
break;
case 2: sort(L.begin(), L.end(), comp_fio);
vivod(L);
break;
case 3: sort(L.begin(), L.end(), comp_gruppa);
vivod(L);
break;
case 4: sort(L.begin(), L.end(), comp_kurs);
vivod(L);
break;
default: cout << "Неверный вариант выбора" << endl;
}
}
//Реализация функции удаления элемента из вектора
void del(vector<Student>& L)
{
string key;
cout << "Введите номер зачетки для поиска" << endl;
while (cin.get() != '\n');
getline(cin, key);
int ind = find(L, key);
if (ind != -1)
{
151

//В методе erase() требуется указать начало вектора
//плюс смещение до удаляемого элемента
L.erase(L.begin() + ind);
cout << "Студент удален" << endl;
}
else
cout << "Данные для удаления не найдены" << endl;
}
//Функция прорисовки горизонтальной линии
void hline() {
const int m = 60;
for (int i = 0; i < m; i++)
cout << "-";
cout << endl;
}
9.4. Задания к лабораторной работе № 9
Задание
Создать программу, формирующую данные определенной структуры в
виде вектора. Элемент вектора должен являться объектом класса. Структура
данных зависит от варианта.
Программа должна реализовывать следующие операции в виде отдельных
функций или методов класса:
– формирование меню для выбора действия пользователем;
– ввод данных в вектор;
– вывод данных из вектора в виде таблицы;
– поиск элемента в векторе по одному из полей (предусмотреть ввод ча-
сти строки для поиска) – поле указано в варианте;
– редактирование элемента в векторе по указанному номеру зачетки;
– удаление элемента из вектора по заданному ключу;
– сортировка элементов в векторе по заданному полю.
Отчет
Отчет должен содержать титульный лист, вариант задания, текст программы с комментариями, скриншоты результатов работы программы.
Варианты заданий
1. Составить программу, которая обрабатывает информацию о студентах.
Сведения о студенте содержат:
– номер поезда (ключ);
– пункт назначения;
– время отправления.
152

Поиск реализовать по пункту назначения.
2. Составить программу, которая обрабатывает информацию о лаборато-
риях института.
Сведения о лаборатории содержат:
– номер лаборатории (ключ);
– количество компьютеров;
– ФИО ответственного лаборанта.
Поиск реализовать по ФИО лаборанта.
3. Составить программу, которая обрабатывает информацию о наличии
бензина на автозаправочной станции.
Сведения о бензине содержат:
– марка бензина (ключ);
– цена за литр;
– количество литров на станции.
Поиск реализовать по ФИО заказчика.
4. Составить программу, которая обрабатывает информацию о таксопарке.
Сведения о такси содержат:
– номер машины (ключ);
– ФИО водителя;
– марка машины;
– стаж водителя.
Реализовать поиск по ФИО водителя.
5. Составить программу, обрабатывающую информацию об авиаполке.
Сведения об авиаполке содержат:
– номер полка (ключ);
– ФИО командира;
– количество самолетов;
– количество боеготовых самолетов.
Поиск реализовать по ФИО командира.
6. Составить программу, которая обрабатывает информацию о мебельных
гарнитурах, продаваемых в магазине.
Сведения о гарнитуре содержат:
– название гарнитура (ключ);
– фирма-производитель;
– количество предметов;
– цена.
Поиск реализовать по фирме-производителю.
153

7. Составить программу, которая обрабатывает информацию о продажах
компьютерных игр.
Сведения о туре содержат:
– название игры (ключ);
– издатель;
– количество проданных физических копий;
– количество проданных цифровых копий.
Поиск реализовать по издателю.
8. Составить программу, которая обрабатывает информацию о пользова-
телях компьютерной сети.
Сведения о пользователе содержат:
– ID пользователя (ключ);
– логин пользователя;
– дата регистрации;
– тип пользователя.
Поиск реализовать по логину пользователя.
9. Составить программу, которая обрабатывает информацию об учебной
дисциплине.
Сведения об учебной дисциплине содержат:
– шифр дисциплины (ключ);
– название дисциплины;
– количество лекционных часов;
– количество часов на лабораторные работы.
Поиск реализовать по названию дисциплины.
10. Составить программу, которая обрабатывает информацию о продаже
билетов на концерт.
– дата концерта (ключ);
– название исполнителя;
– количество проданных билетов.
Поиск реализовать по названию исполнителя.
11. Составить программу, которая обрабатывает информацию о гражда-
нах, лежащих в больнице.
Сведения о больном содержат:
– номер больного (ключ)
– ФИО больного;
– диагноз;
– номер палаты.
Поиск реализовать по ФИО больного.
154

12. Составить программу, которая обрабатывает информацию о книгах в
библиотеке.
Сведения о книгах содержат:
– номер УДК (ключ);
– ФИО автора;
– название;
– год издания.
Поиск реализовать по названию книги.
13. Составить программу, которая обрабатывает информацию о заказах на
ремонт вычислительной техники.
Сведения о заказе содержат:
– номер заказа (ключ);
– ФИО заказчика;
– описание неисправности;
– стоимость ремонта.
Поиск реализовать по ФИО заказчика.
14. Составить программу, которая обрабатывает информацию о товарах.
Сведения о товарах содержат:
– индекс товара (ключ);
– название товара;
– цена товара.
Поиск реализовать по названию товара.
15. Составить программу, которая учитывает информацию об автомо-
бильных грузоперевозках.
Сведения о грузовике содержат:
– номер грузовика (ключ);
– ФИО водителя;
– грузоподъемность.
Поиск реализовать по ФИО водителя.
16. Составить программу, которая обрабатывает информацию об обору-
довании.
Сведения об оборудовании содержат:
– серийный номер (ключ);
– название оборудования;
– тип оборудования;
– стоимость оборудования.
Поиск реализовать по стоимости оборудования.
155

17. Составить программу, которая обрабатывает информацию о заявках
на авиабилеты.
Каждая заявка содержит:
– номер рейса (ключ);
– пункт назначения;
– ФИО пассажира;
– желаемую дату вылета.
Поиск реализовать по пункту назначения.
18. Составить программу, которая обрабатывает информацию о гости-
ничных номерах.
Сведения о номере содержат:
– номер комнаты (ключ);
– этаж;
– вид номера;
– количество мест.
Поиск реализовать по виду номера.
19. Составить программу, которая обрабатывает информацию о продаже
путевок в туристическом агентстве.
Сведения о туре содержат:
– название тура (ключ);
– страна пребывания;
– продолжительность тура;
– стоимость путевки.
Поиск реализовать по стране пребывания.
20. Составить программу, которая обрабатывает информацию о счетах.
Сведения о счете содержат:
– номер счета (ключ);
– ФИО клиента;
– годовой процент.
Поиск реализовать по ФИО клиента.
21. Составить программу, формирующую телефонный справочник.
Сведения об абоненте содержат:
– номер телефона (ключ);
– ФИО абонента;
– адрес абонента.
Поиск реализовать по ФИО абонента.
156

22. Составить программу, которая обрабатывает информацию о врачах,
работающих в поликлинике.
Сведения о враче содержат:
– табельный номер врача (ключ);
– ФИО врача;
– специализация;
– номер кабинета.
Поиск реализовать по специализации.
23. Составить программу, которая обрабатывает информацию о сотруд-
никах.
Сведения о сотруднике содержат:
– табельный номер (ключ);
– ФИО сотрудника;
– должность.
Поиск реализовать по ФИО сотрудника.
24. Составить программу, которая обрабатывает информацию о продаже
автомобилей в автосалоне.
Сведения об автомобиле содержат:
– номер автомобиля (ключ);
– марка автомобиля;
– дата продажи.
Поиск реализовать по марке автомобиля.
25. Составить программу, которая обрабатывает информацию о заказе на
пошив одежды в ателье.
Сведения о заказе содержат:
– номер заказа (ключ);
– предмет одежды;
– ФИО закройщика;
– стоимость материала.
Поиск реализовать по предмету одежды.
26. Составить программу, которая обрабатывает информацию о наличии
приборов на складе.
Сведения о приборе содержат:
– название прибора (ключ);
– тип прибора;
– цена;
– количество на складе.
Поиск реализовать по типу прибора.
157

27. Составить программу, которая обрабатывает информацию о файлах.
Сведения о файле содержат:
– название файла (ключ);
– тип файла;
– размер файла.
Поиск реализовать по типу файла.
28. Составить программу, которая обрабатывает информацию о наличии
автобусов в автобусном парке.
Сведения о каждом автобусе содержат:
– номер автобуса (ключ);
– ФИО водителя;
– номер маршрута.
Поиск реализовать по ФИО водителя.
29. Составить программу, которая обрабатывает информацию о жестких
дисках.
Сведения о каждом диске содержат:
– номер устройства (ключ);
- интерфейс (стандарт обмена данными), возможные значения - ATA
(IDE, PATA), SATA;
– размер диска в ГБ или ТБ.
Поиск реализовать по размеру диска.
30. Составить программу, которая обрабатывает информацию о компью-
терных мышках.
Сведения о каждой мышке содержат:
– номер устройства (ключ);
– тип мыши (механическая, оптическая, дистанционная);
– разъем для подключения (к порту РС/2, USB-порту).
Поиск реализовать по типу мыши.
31. Составить программу, которая обрабатывает информацию о видеокартах.
Сведения о каждой видеокарте содержат:
– номер устройства (ключ);
– объем видеопамяти в Mb, или Gb;
– тип видеопамяти (возможные значения - GDDR2, GDDR3, GDDR4 или
GDDR5).
Поиск реализовать по типу видеопамяти.
158

32. Составить программу, которая обрабатывает информацию о сканерах.
Сведения о каждом сканере содержат:
– номер устройства (ключ);
– оптическое разрешение, возможные значения - от 600 dpi до 1200 dpi;
– скорость сканирования (страниц в минуту).
Поиск реализовать по оптическому разрешению.
33. Составить программу, которая обрабатывает информацию об опера-
тивной памяти.
Сведения о каждом варианте оперативной памяти содержат:
– номер устройства (ключ);
– тип памяти (например, DDR3 SDRAM, DDR4 SDRAM, DDR5 SDRAM);
– тактовая частота шины (возможные значения находятся в интервале от
800 до 8400 МГц).
Поиск реализовать по типу памяти.
34. Составить программу, которая обрабатывает информацию о процес-
сорах.
Сведения о каждом процессоре содержат:
– номер устройства (ключ);
– тактовая частота в МГц;
– разрядность (32/64 бит);
Поиск реализовать по разрядности.
35. Составить программу, которая обрабатывает информацию о клавиатурах.
Сведения о каждой клавиатуре содержат:
– номер устройства (ключ);
– количество кнопок (стандартное – 105, нестандартное);
– тип клавиатуры (мембранная, механическая).
Поиск реализовать по типу клавиатуры.
36. Составить программу, которая обрабатывает информацию о мониторах.
Сведения о каждом мониторе содержат:
– номер устройства (ключ);
– модель;
– длина диагонали;
- разрешение.
Поиск реализовать по длине диагонали.
37. Составить программу, которая обрабатывает информацию о транзи-
сторах.
Сведения о каждом транзисторе содержат:
– номер устройства (ключ);
– мощность коллектора (например, 30, 35, 50, 60 и т.д.);
- материал (например, Ge, Si).
Поиск реализовать по материалу.
159

38. Составить программу, которая обрабатывает информацию о диодах.
Сведения о каждом диоде содержат:
– номер устройства (ключ);
– обратное напряжение (например: 10, 25, 75, 300 и т.д.);
– прямой ток (например: 20, 50, 100, 250 и т.д.).
Поиск реализовать по прямому току.
39. Составить программу, которая обрабатывает информацию о коммута-
торах.
Сведения о каждом коммутаторе содержат:
– номер устройства (ключ);
– скорость фильтрации кадров (количество кадров в секунду);
- максимальная длина кадра (например, 100-1500 байт);
- пропускная способность (5-10 Мб/с).
Поиск реализовать по пропускной способности.
40. Составить программу, которая обрабатывает информацию о маршру-
тизаторах.
Сведения о каждом маршрутизаторе содержат:
– номер устройства (ключ);
- перечень поддерживаемых сетевых протоколов (IP, CONS, CLNS OSI,
IPX и т.д.);
- сетевые стандарты (Ethernet, Token Ring, FDDI, Fast Ethernet, Gigabit
Ethernet, ATM и т.д.);
Поиск реализовать по сетевым стандартам.
160
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
