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

Целью данной работы является приобретение навыков программирования списковых структур. Для решения задачи необходимо: разработать проект динамической структуры, моделирующей предметную область данного варианта задания; разработать и отладить комплекс программных модулей, реализующих поставленную в варианте задачу; разработать набор тестов, демонстрирующих корректную работу программы для различных вариантов исходных данных.

ВАРИАНТЫ.

1. Линейный список. Узел списка — информация о автомобиле (марка, цена- целое число). Ввод элементов списка производится из файла. Упорядочить элементы списка по возрастанию. Распечатать список до и после сортировки.

2. Линейный список. Узел — информация о товаре: название, цена, дата поступления, срок хранения. Ввод элементов списка производится из файла. Вводится сегодняшняя дата. Удалить товары, срок хранения которых истек.

3. Линейный список. Узел — информация об ученике (фамилия, имя, список отметок по нескольким предметам). Ввод элементов списка производится из файла. Построить отдельный список из двоечников (упорядоченный по алфавиту). Распечатать полученный список.

4. Линейный список. Узел — информация о пациенте в больнице: имя, возраст, пол, диагноз, температура, давление. Ввод элементов списка производится из файла. В отдельном файле хранится список изменений, которые необходимо произвести с узлами списка (запись файла — фамилия пациента, новые данные об этом пациенте). Ввести файл с изменениями, занести изменения в список. Распечатать содержимое списка в обоих направлениях.

5. Линейный список. Узел — информация об ученике. Ввод элементов списка производится из файла. Получить два списка: успевающие и неуспевающие ученики. Распечатать оба списка.

6. Линейный список. Узел — информация о пациенте в больнице: имя, возраст, пол, диагноз. Ввод элементов списка производится из файла. Сделать два списка: мужчины и женщины (упорядочить по возрасту). Распечатать их.

7. Очередь в магазине. Узел очереди: номер, индикатор — является ли человек в очереди ветераном. Ввод элементов списка производится из файла. Сначала извлечь из очереди всех ветеранов, затем всех остальных в порядке очереди.

8. Линейный список. Узел списка — информация о студенте: фамилия, год рождения, год поступления, оценки по предметам. Ввод элементов списка производится из файла. Студентов, поступивших в нечетном году, занести в другой список (с удалением из первого). Распечатать оба списка.

9. Линейный список. Узел — информация о летчиках: имя, год рождения, звание, число полетов, число сбитых самолетов, отметка о жизни (сбит или нет). Ввод элементов списка производится из файла. Удалить из списка летчиков, погибших в бою. Распечатать оставшийся список.

10. Линейный список. Узел — запись о книге в библиотеке: автор, название, имеется ли в наличии (если нет, то фамилия читателя, которому выдана). Ввод элементов списка производится из файла. Создать отдельный список для книг свободных. Распечатать старый и новый список.

11. Линейный список. Узел — информация о студенте: имя, дата рождения, отметки по алгебре, музыке, информатике. Ввод элементов списка производится из файла. Создать 4 списка: в соответствии с отметками по информатике (2, 3, 4, 5).

12. Линейный список. Узел — информация о пациенте в больнице. Ввод элементов списка производится из файла. Пациентов с нормальной температурой и давлением перенести в новый список, удаляя из старого списка, распечатать новый список.

13. Линейный список. Узел — информация о студенте (фамилия, имя, курс). Ввод элементов списка производится из файла. Упорядочить список студентов по возрастанию номера курса. Распечатать список до и после упорядочивания.

14. Список планет солнечной системы. Узел — название, удаление от Солнца, масса планеты. Ввод элементов списка производится из файла. Упорядочить планеты в списке по возрастанию масс.

15. Магазин. Список с товарами (название, цена). Список покупателей (номер, название товара, который хочет купить, количество товара). Ввод элементов списка производится из файла. Просмотреть список покупателей, подсчитать количество денег, полученных за обслуживание всех покупателей.

16. Список с товарами (название товара, цена, количество товара в магазине). Список с покупателями. Ввод элементов списка производится из файла. Элементы списка покупателей удаляются после обслуживания. Вывести суммарную стоимость проданных товаров, а также список оставшихся товаров.

17. Хоккейные команды. Два списка: высшая лига и первая. Запись о команде: название и число набранных очков. Ввод элементов списка производится из файла. 4 лучшие команды первой лиги перевести в высшую лигу, 4 худшие команды высшей перевести в первую (исходные списки не упорядочены по числу набранных очков).

18. Список. Информация о билетах на самолеты. Узел: номер рейса, пункт отправления, пункт назначения, количество свободных мест. Ввод элементов списка производится из файла. Имеется отдельный файл с запросами: номера рейсов, количество билетов. Если при запросе свободных мест нет, то узел удалить. Распечатать список.

19. Линейный список. Информация о билетах на самолеты. Файл с запросами: номера рейсов. Ввод элементов списка производится из файла. Если при запросе свободных мест нет, то узел перенести в другой список. Распечатать список с отказами.

20. Линейный список. Узел: информация о здании (материал, кол-во этажей). Ввод элементов списка производится из файла. Упорядочить список по возрастанию этажности. Распечатать старый и полученный список.

21. Список сотрудников предприятия. Данные: фамилия, пол, возраст, специальность, стаж. Ввод элементов списка производится из файла. Разделить мужчин и женщин на два списка и распечатать их.

22. Даны два линейных односвязных списка. Первый список — множество мужчин данного предприятия, второй список — множество женщин. Ввод элементов списка производится из файла. Оба списка упорядочены по возрастанию возраста людей, входящих в список. Объединить два списка в один, сохраняя упорядоченность по возрасту.

23. Даны два линейных односвязных списка. Каждый список — некое множество элементов любого типа. Ввод элементов списка производится из файла. Построить новый список, являющийся объединением двух данных множеств.

24. Даны два линейных односвязных списка. Каждый список — некое множество элементов любого типа. Ввод элементов списка производится из файла. Построить новый список, являющийся пересечением двух данных множеств.

25. Даны два линейных односвязных списка. Каждый список — некое множество элементов любого типа. Ввод элементов списка производится из файла. Построить новый список, являющийся разностью двух данных множеств.

26. Даны два линейных односвязных списка. Каждый список — некое множество элементов любого типа. Ввод элементов списка производится из файла. Проверить, является ли множество элементов одного списка подмножеством элементов другого списка.

27. Моделирование распределения памяти в операционной системе. Дан линейный Линейный список свободных блоков памяти (узел — адрес начала блока, размер блока). Ввод элементов списка производится из файла. На входе подается запрос на блок памяти определенного размера. Задача — найти в списке первый подходящий по размеру узел, произвести необходимые изменения в списке или выдать сообщение, если подходящего блока памяти в списке нет.

28. Моделирование распределения памяти в операционной системе. Дан линейный Линейный список свободных блоков памяти (узел — адрес начала блока, размер блока). Ввод элементов списка производится из файла. На входе подается запрос на блок памяти определенного размера. Задача — найти в списке наилучший подходящий по размеру узел, произвести необходимые изменения в списке или выдать сообщение, если подходящего блока памяти в списке нет.

29. Моделирование распределения памяти в операционной системе. Дан линейный список свободных блоков памяти (узел — адрес начала блока, размер блока). Ввод элементов списка производится из файла. Задача — произвести "сборку мусора" в памяти, т.е. если в списке имеются узлы, указывающие на смежные блоки памяти, нужно объединить такие блоки в один блок.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: