Добавил:
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
- •ЗАКЛЮЧЕНИЕ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК

чениями. Вызывая виртуальные функции для экземпляров классов убедиться,
что при одной и той же сигнатуре вызова – каждый раз отрабатывает нужный в
данном случае экземпляр виртуальной функции.
Для того, чтобы протестировать каждый класс в программе, нужно сделать следующее:
– создать объект класса с использованием конструктора без параметров
(все параметры потом установить с помощью методов set());
– создать объект с использованием конструктора с параметрами;
– создать объект с использованием конструктора копирования (потом по-
менять часть значений полей объекта с использованием методов set();
– вывести на экран созданные объекты с использованием метода print();
– вывести на экран созданные объекты в виде таблицы, используя методы
get().
Отчет
Отчет должен содержать титульный лист, вариант задания, текст про-
граммы с комментариями, скриншоты результатов работы программы.
Варианты заданий
Вариант № 1
Базовый класс – «Транспорт», производные классы «Поезд», «Автобус»,
«Корабль».
Поля базового класса:
– название;
– количество мест.
Дополнительные поля класса «Автобус»:
– номер маршрута (тип string);
– скорость.
Дополнительные поля класса «Поезд»:
– номер поезда;
– количество вагонов.
Дополнительные поля класса «Корабль»:
– водоизмещение;
– число кают;
– скорость.
Вариант № 2
Базовый класс – «Устройства», производные классы «Память», «Диск»,
«Процессор».
Поля базового класса:
– тип устройства;
– количество на складе.
121

Дополнительные поля класса «Память»:
– тип памяти (например, DDR3 SDRAM, DDR4 SDRAM, DDR5 SDRAM);
– тактовая частота шины (возможные значения находятся в интервале от
800 до 8400 МГц;
Дополнительные поля класса «Диск»:
- интерфейс (стандарт обмена данными), возможные значения − ATA
(IDE, PATA), SATA;
– объем данных в ГБ или ТБ.
Дополнительные поля класса «Процессор»:
– тактовая частота в МГц;
– разрядность (32/64 бит);
– скорость.
Вариант № 3
Базовый класс – «Устройства», производные классы «Клавиатура»,
«Мышь», «Монитор».
Поля базового класса:
– тип устройства;
– цена.
Дополнительные поля класса «Клавиатура»:
– количество кнопок (стандартное – 105, нестандартное);
– тип клавиатуры (мембранная, механическая).
Дополнительные поля класса «Мышь»:
– тип (механическая, оптическая, дистанционная);
– разъем для подключения (к порту РС/2, USB-порту).
Дополнительные поля класса «Монитор»:
– модель;
– длина диагонали;
- разрешение.
Вариант № 4
Базовый класс – «Устройства», производные классы «Принтер», «Видеокарта», «Сканер».
Поля базового класса:
– тип устройства;
– цена;
- количество на складе.
Дополнительные поля класса «Принтер»:
– модель принтера;
– скорость печати в стр./мин.
Дополнительные поля класса «Видеокарта»:
– объем видеопамяти в Mb, или Gb;
– тип видеопамяти (возможные значения - GDDR2, GDDR3, GDDR4 или
GDDR5).
122

Дополнительные поля класса «Сканер»:
– оптическое разрешение, возможные значения - от 600 dpi до 1200 dpi;
– скорость сканирования (страниц в минуту).
Вариант № 5
Базовый класс – «Гарнитуры», производные классы «Прихожая»,
«Спальня», «Кухня».
Поля базового класса:
– название;
– цена;
- количество на складе.
Дополнительные поля класса «Прихожая»:
– цвет;
– длина.
Дополнительные поля класса «Спальня»:
– количество предметов;
– ширина кровати.
Дополнительные поля класса «Кухня»:
– материал;
– длина-высота.
Вариант № 6
Базовый класс – «Мебель», производные классы «Стул», «Стол»,
«Шкаф».
Поля базового класса:
– название;
– цена;
- количество на складе.
Дополнительные поля класса «Стул»:
– цвет;
– материал.
Дополнительные поля класса «Стол»:
– ширина;
– длина.
Дополнительные поля класса «Шкаф»:
– ширина;
– длина;
- высота.
Вариант № 7
Базовый класс – «Геометрическая фигура», производные классы «Прямоугольник», «Окружность», «Эллипс».
Поля базового класса:
– название;
123

– единица измерения размера.
Дополнительные поля класса «Прямоугольник»:
– длина;
– ширина.
Дополнительные поля класса «Окружность»:
– радиус.
Дополнительные поля класса «Эллипс»:
– большая ось;
- малая ось.
Вариант № 8
Базовый класс – «Автомобиль», производные классы «Легковой автомобиль», «Автобус», «Самосвал».
Поля базового класса:
– название;
– цена;
- марка бензина.
Дополнительные поля класса «Легковой автомобиль»:
– модель;
– цвет.
Дополнительные поля класса «Автобус»:
– номер маршрута;
– количество мест.
Дополнительные поля класса «Самосвал»:
– грузоподъемность;
- мощность двигателя.
Вариант № 9
Базовый класс – «Мыло», производные классы «Детское мыло», «Хозяй-
ственное мыло», «Жидкое мыло».
Поля базового класса:
– название;
– цена;
- производитель.
Дополнительные поля класса «Детское мыло»:
– травяная добавка (возможные значения – нет, чистотел, череда, ромашка);
- вес в г.
Дополнительные поля класса «Хозяйственное мыло»:
– процент жирности;
– срок хранения.
Дополнительные поля класса «Жидкое мыло»:
– наполнитель запаха (сирень, роза и т.д.);
- объем в мл.
124

Вариант № 10
Базовый класс – «Канцтовары», производные классы «Тетради», «Карандаши», «Фломастеры».
Поля базового класса:
– название;
– цена.
Дополнительные поля класса «Тетради»:
– количество страниц;
- оформление (в линейку, в клетку).
Дополнительные поля класса «Карандаши»:
– мягкость или твердость (возможные значения - Т, М, ТМ);
– цвет.
Дополнительные поля класса «Фломастеры»:
– количество цветов;
- назначение (для бумаги, для доски).
Вариант № 11
Базовый класс – «Моющие средства», производные классы «Стиральные
порошки», «Чистящие средства», «Для мытья посуды».
Поля базового класса:
– название;
– цена.
Дополнительные поля класса «Стиральные порошки»:
– вес в г;
- производитель.
Дополнительные поля класса «Чистящие средства»:
– дата изготовления;
– присутствие хлора (нет, есть).
Дополнительные поля класса «Для мытья посуды»:
– наполнитель (ромашка, яблоко и т.д.);
- объем в мл.
Вариант № 12
Базовый класс – «Книги», производные классы «Учебники», «Детекти-
вы», «Мемуары».
Поля базового класса:
– название;
– цена;
- авторы.
Дополнительные поля класса «Учебники»:
– раздел знаний (например, математика, программирование и т.д.);
- подраздел знаний (для математики: алгебра, математический анализ,
вычислительная математика и т.д.; для программирования: язык С++, язык C#,
язык Java и т.д.).
125

Дополнительные поля класса «Детективы»:
– вид (отечественный, переводной);
– издательство.
Дополнительные поля класса «Мемуары»:
– тематика (например, военные, исторические, личные и т.д.);
- год издания.
Вариант № 13
Базовый класс – «Электронные устройства», производные классы «Транзисторы», «Диоды», «Усилители».
Поля базового класса:
– название;
– цена;
- количество на складе.
Дополнительные поля класса «Транзисторы»:
– мощность коллектора (например, 30, 35, 50, 60 и т.д.);
- материал (например: Ge, Si).
Дополнительные поля класса «Диоды»:
– обратное напряжение (например: 10, 25, 75, 300 и т.д.);
– прямой ток (например: 20, 50, 100, 250 и т.д.).
Дополнительные поля класса «Усилители»:
– напряжение питания (например: 2х(5…20), 2х(7…40));
- коэффициент усиления (например: 30, 35, 50, 100, 500).
Вариант № 14
Базовый класс – «Коммуникационное оборудование», производные клас-
сы «Коммутаторы», «Маршрутизаторы».
Поля базового класса:
– название;
- производитель;
- количество на складе;
- цена.
Дополнительные поля класса «Коммутаторы»:
– скорость фильтрации кадров (количество кадров в секунду);
- максимальная длина кадра (например, 100-1500 байт);
- пропускная способность (5-10 Мб/с);
- задержка передачи кадра (от 10-40 мкс до 500 мкс).
Дополнительные поля класса «Маршрутизаторы»:
- перечень поддерживаемых сетевых протоколов (IP, CONS, CLNS OSI,
IPX и т.д.);
- сетевые стандарты (Ethernet, Token Ring, FDDI, Fast Ethernet, Gigabit
Ethernet, ATM и т.д.);
- общая производительность маршрутизатора в пакетах в секунду (от 10
тыс. пак. /сек до 10 млн пак. / сек);
126

Вариант № 15
Базовый класс – «Строительные материалы», производные классы «Кирпичи», «Блоки», «Цемент».
Поля базового класса:
– название;
– цена;
- количество на складе.
Дополнительные поля класса «Кирпичи»:
– материал;
- размеры (ширина - длина).
Дополнительные поля класса «Блоки»:
– длина;
– ширина;
- высота.
Дополнительные поля класса «Цемент»:
– вес упаковки.
Вариант № 16
Базовый класс – «Бытовая техника», производные классы «Плита», «Холодильник», «Телевизор».
Поля базового класса:
– название;
– цена;
- количество на складе.
Дополнительные поля класса «Плита»:
– тип (газовая, электрическая);
-количество конфорок.
Дополнительные поля класса «Холодильник»:
– высота;
– емкость морозильной камеры.
Дополнительные поля класса «Телевизор»:
– размер диагонали;
- производитель.
Вариант № 17
Базовый класс – «Сотрудники», производные классы «Инженеры», «Рабочие».
Поля базового класса:
– ФИО;
– номер подразделения;
- должность.
Дополнительные поля класса «Инженеры»:
– название вуза;
- специальность по диплому;
127

- дата окончания вуза.
Дополнительные поля класса «Рабочие»:
– разряд (от 1 до 6);
– часовая тарифная ставка.
Вариант № 18
Базовый класс – «Учебное заведение», производные классы «Вуз», «Техникум», «Школа».
Поля базового класса:
– название;
– количество учащихся.
Дополнительные поля класса «Вуз»:
– количество факультетов;
- плата за обучение.
Дополнительные поля класса «Техникум»:
– количество специальностей;
– количество бюджетных мест.
Дополнительные поля класса «Школа»:
– номер школы;
- количество смен (от 1 до 3).
Вариант № 19
Базовый класс – «Продукты», производные классы «Молочные», «Мясные», «Крупы».
Поля базового класса:
– название;
– цена за единицу измерения;
- единица измерения (упаковка, г, кг, л и т.д.)
Дополнительные поля класса «Молочные»:
– жирность;
- количество белка в 100 г продукта.
Дополнительные поля класса «Мясные»:
– дата изготовления;
– срок годности.
Дополнительные поля класса «Крупы»:
– вес упаковки;
- сорт (высший, первый и т.д.).
Вариант № 20
Базовый класс – «Сооружения», производные классы «Жилой дом»,
«Торговый центр».
Поля базового класса:
– название;
– адрес;
128

- количество этажей.
Дополнительные поля класса «Жилой дом»:
– количество квартир;
- цена за 1 кв. м.
Дополнительные поля класса «Торговый центр»:
– количество магазинов;
– общая площадь;
- время работы.
Вариант № 21
Базовый класс – «Спортивное сооружение», производные классы «Бассейн», «Стадион».
Поля базового класса:
– название;
– адрес;
- ФИО директора.
Дополнительные поля класса «Бассейн»:
– количество секций;
- количество плавательных дорожек.
Дополнительные поля класса «Стадион»:
– количество мест;
– площадь спортивной арены.
Вариант № 22
Базовый класс – «Семена», производные классы «Овощи», «Цветы».
Поля базового класса:
– название;
– количество упаковок на складе;
- производитель;
- дата упаковки;
- срок годности.
Дополнительные поля класса «Овощи»:
– средний срок вызревания;
- средний вес овоща.
Дополнительные поля класса «Цветы»:
– рост растения;
– диаметр цветка;
- вес упаковки.
Вариант № 23
Базовый класс – «Квартиры», производные классы «Однокомнатные»,
«Двухкомнатные», «Трехкомнатные».
Поля базового класса:
– адрес;
129

– этаж;
- цена за квадратный метр.
Дополнительные поля класса «Однокомнатные»:
– отделка (возможные варианты: черновая, предварительная, чистовая);
- санузел (совмещенный, или раздельный).
Дополнительные поля класса «Двухкомнатные»:
– количество розеток;
– лоджия (с отделкой, без отделки).
Дополнительные поля класса «Трехкомнатные»:
– проходная комната (есть, или нет);
- пол (ламинат, линолеум, паркет).
Вариант № 24
Базовый класс – «Работники», производные классы «Инженеры», «Экономисты», «Рабочие».
Поля базового класса:
– номер подразделения;
– ФИО;
- должность.
Дополнительные поля класса «Инженеры»:
– название вуза;
- специальность по диплому;
- дата окончания вуза.
Дополнительные поля класса «Экономисты»:
– стаж работы по специальности;
- общий стаж работы;
- оклад.
Дополнительные поля класса «Рабочие»:
– разряд (от 1 до 6);
- стаж работы в должности;
– часовая тарифная ставка.
Вариант № 25
Базовый класс – «Мебель», производные классы «Диван», «Стол»,
«Шкаф».
Поля базового класса:
– название;
– цена;
- количество на складе.
Дополнительные поля класса «Диван»:
– обивка (материал, кожа, экокожа);
– скидка.
Дополнительные поля класса «Стол»:
– ширина;
130
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
