Задания по курсовой работе для группы ПКС

Общие требования

Во всех работах необходимо использовать динамические структуры данных. Выбор конкретной структуры (список, стек и т. д.) определяется удобством использования, если в самом задании явно не указан конкретный вид структуры.

Задание №1

Гаражная стоянка имеет одну стояночную полосу, причем въезд и выезд находятся в одном конце полосы. Если владелец автомашины приходит забрать свой автомобиль, который не является ближайшим к выходу, то все автомашины, загораживающие проезд, удаляются, машина данного владельца выводится со стоянки, а другие машины возвращаются на стоянку в исходном порядке.

Написать программу, которая моделирует процесс прибытия и отъезда машин. Прибытие или отъезд автомашины задается командной строкой, которая содержит признак прибытия или отъезда и номер машины. Программа должна выводить сообщение при прибытии или выезде любой машины. При выезде автомашины со стоянки сообщение должно содержать число раз, которое машина удалялась со стоянки для обеспечения выезда других автомобилей.

Задание №2

Магазин с одним продавцом. Компьютер вместо кассового аппарата. База наличия товаров: наименование, единица измерения, цена единицы, количество, дата последнего завоза. Регистрация поступления товара (как старых, так и новых наименований). Оформление покупки: выписка чека, корректировка базы. Проблема уценки и описания. Инвентаризация остатков товара с вычислением суммарной стоимости. Компьютер вместо кассового аппарата. База наличия товаров: наименование, единица измерения, цена единицы, количество, дата последнего завоза. Регистрация поступления товара (как старых, так и новых наименований). Оформление покупки: выписка чека, корректировка базы. Проблема уценки и описания. Инвентаризация остатков товара с вычислением суммарной стоимости.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Задание №3

Составить программу, которая содержит текущую информацию о книгах в библиотеке.

Сведения о книгах содержат:

• номер УДК;

• фамилию и инициалы автора;

• название;

• год издания;

• количество экземпляров данной книги в библиотеке.

Программа должна обеспечивать:

• начальное формирование данных обо всех книгах в библиотеке в виде списка;

• добавление данных о книгах, вновь поступивших в библиотеку;

• удаление данных о списываемых книгах;

• по запросу выдаются сведения о наличии книг в библиотеке, упорядоченные по годам издания;

• формирование списка авторов книг, которые есть в библиотеке.

Задание №4

Авиабилеты. Составить программу, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка включает:

• пункт назначения; номер рейса;

• фамилию и инициалы пассажира;

• желаемую дату вылета.

Программа должна обеспечивать:

• хранение всех заявок в виде списка;

• добавление заявок в список;

• удаление заявок;

• вывод заявок по заданному номеру рейса и дате вылета;

• вывод всех заявок.

Задание №5

Написать программу работы с базой данных отдела кадров предприятия. База хранится в текстовом файле, его размер может быть произвольным. Каждая строка файла содержит запись об одном сотруднике. Формат записи: фамилия и инициалы, год рождения, оклад. Записи о сотрудниках должны быть упорядочены в алфавитном порядке.

В программе реализовать следующие действия:

• добавление сотрудника;

• удаление сотрудника;

• поиск сотрудника по фамилии и вывод на экран всей информации о сотруднике;

• формирование дополнительного списка по убыванию окладов;

• формирование дополнительного списка по убыванию возраста;

• корректировка сведений о сотруднике;

• вывод базы на экран;

• сохранение базы в файле;

• выход.

Задание №6

Составить программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах включают:

• номер УДК;

• фамилию и инициалы автора;

• название;

• год издания;

• количество экземпляров данной книги в библиотеке.

Программа должна обеспечивать:

• начальное формирование данных обо всех книгах в библиотеке в виде списка;

• при выдаче каждой книги на руки вводится номер УДК, и программа уменьшает значение количества книг на единицу или выдает сообщение о том, что требуемой книги в библиотеке нет или она находится на руках;

• при возвращении каждой книги вводится номер УДК, и программа увеличивает значение количества книг на единицу;

• по запросу выдаются сведения о наличии книг в библиотеке.

Задание №7

В файловой системе каталог файлов организован как линейный список. Для каждого файла в каталоге содержатся следующие сведения:

• имя файла;

• дата создания;

• количество обращений к файлу.

• Составить программу, которая обеспечивает:

• начальное формирование каталога файлов;

• вывод каталога файлов;

• удаление файлов, дата создания которых меньше заданной;

• выборку файла с наибольшим количеством обращений.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Задание №8

Текст помощи для некоторой программы организован как линейный список.

Каждая компонента текста помощи содержит термин (слово) и текст, содержащий пояснения к этому термину. Количество строк текста, относящихся к одному термину, от одного до пяти.

Составить программу, которая обеспечивает:

• начальное формирование текста помощи;

• вывод текста помощи;

• вывод поясняющего текста для заданного термина.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Задание №9

Предметный указатель организован как линейный список.

Каждая компонента указателя содержит слово и номера страниц, на которых это слово встречается. Количество номеров страниц, относящихся к одному слову, от одного до десяти.

Составить программу, которая обеспечивает:

• начальное формирование предметного указателя;

• вывод предметного указателя;

• вывод номеров страниц для заданного слова.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Задание №10

Составить программу, которая содержит динамическую информацию о наличии автобусов в автобусном парке. Сведения о каждом автобусе включают:

• номер автобуса;

• фамилию и инициалы водителя;

• номер маршрута.

Программа должна обеспечивать:

• начальное формирование данных обо всех автобусах в парке в виде списка;

• при выезде каждого автобуса из парка вводится номер автобуса, и программа удаляет данные об этом автобусе из списка автобусов, находящихся в парке, и записывает эти данные в список автобусов, находящихся на маршруте;

• при въезде каждого автобуса в парк вводится номер автобуса, и программа удаляет данные об этом автобусе из списка автобусов, находящихся на маршруте, и записывает эти данные в список автобусов, находящихся в парке;

• по запросу выдаются сведения об автобусах, находящихся в парке, или об автобусах, находящихся на маршруте.

Задание №11

Многочлен с целыми коэффициентами можно представить в виде списка, причем, если , то соответствующий элемент не включается в список.

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

• ввод многочлена с клавиатуры;

• вывод многочлена на экран;

• проверка на равенство двух многочленов p и q;

• функцию, вычисляющую значение многочлена в целочисленной точке x;

• функцию, вычисляющую сумму многочленов p и q, результат – многочлен r;

• функцию, вычисляющую произведение многочленов p и q, результат – многочлен r.

Задание №12

Англо-русский словарь построен как двоичное дерево.

Каждая компонента содержит английское слово, соответствующее ему русское слово и счетчик количества обращений к данной компоненте.

Первоначальное дерево формируется согласно английскому алфавиту. В процессе эксплуатации словаря при каждом обращении к компоненте в счетчик обращений добавляется единица.

Составить программу, которая:

• обеспечивает начальный ввод словаря с конкретными значениями счетчиков обращений;

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

• производится вывод исходного и нового словарей.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Задание №13

Анкета для опроса населения содержит группы вопросов.

Первая группа содержит сведения о респонденте:

• возраст;

• пол;

• образование (начальное, среднее, высшее).

Вторая группа содержит собственно вопрос анкеты, ответ на который либо ДА, либо НЕТ.

Составить программу, которая:

• обеспечивает начальный ввод анкет и формирует из них линейный список;

• на основе анализа анкет выдает ответы на следующие вопросы: а) сколько мужчин старше 40 лет, имеющих высшее образование, ответили ДА на вопрос анкеты; а) сколько женщин моложе 30 лет, имеющих среднее образование, ответили НЕТ на вопрос анкеты; в) сколько мужчин моложе 25 лет, имеющих начальное образование, ответили ДА на вопрос анкеты;

• производится вывод всех анкет и ответов на вопросы.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Задание №14

Очередь на получение жилья. На предприятии имеется много сотрудников, не обеспеченных жильем. Они организованы в очередь, в которой фиксируется фамилия и инициалы сотрудника и количество комнат, на которые очередник может претендовать. Каждый год те, кто стоит в начале очереди, могут получить квартиру, соответствующую их правам, если на них хватит необходимых квартир. У сотрудника, стоящего в очереди, может изменится семейное положение, например, родится ребенок, поэтому для него может изменится параметр «количество комнат», но на месте в очереди это ни как не должно сказываться. И каждый год очередь пополняется новыми сотрудниками, у которых еще нет квартиры. Предприятие в состоянии каждый год предоставлять сотрудникам n1однокомнатных, n2двухкомнатных, n3трехкомнатных, n4четырехкомнатных и n5пятикомнатных квартир, где niмогут быть разными в разные годы (задавать датчиком случайных чисел, при этом количество квартир с большим числом комнат обычно меньше, чем количество квартир с меньшим числом комнат). Организовать по годам движение очереди на получение квартиры.

Задание №15

На международной телефонной станции картотека абонентов, содержащая сведения о телефонах и их владельцах, организована как линейный список.

Составить программу, которая:

• обеспечивает начальное формирование картотеки в виде линейного списка;

• производит вывод всей картотеки;

• вводит номер телефона и время разговора;

• выводит извещение на оплату телефонного разговора.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Задание №16

Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для каждого поезда указывается:

• номер поезда;

• станция назначения;

• время отправления.

Данные в информационной системе организованы в виде линейного списка.

Составить программу, которая:

• обеспечивает первоначальный ввод данных в информационную систему и формирование линейного списка;

• производит вывод всего списка;

• вводит номер поезда и выводит все данные об этом поезде;

• вводит название станции назначения и выводит данные обо всех поездах, следующих до этой станции.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Задание №17

Кольцевой автобус. Автобус движется по кольцевому маршруту, на остановках в него садятся пассажиры, которые платят за проезд и выходят из автобуса на своей остановке.

Необходимо ДСЧ формировать список пассажиров на остановке и пункт назначения для каждого пассажира и обеспечивать своевременный выход пассажиров на своей остановке.

Задание №18

Справочник фаната. База спортсменов: анкетные и антропологические данные, гражданство, происхождение, вид спорта, клуб или команда, данные о личном рекорде или победах и так далее. Выбор по произвольному признаку. Поиск рекордсмена в заданном виде спорта. База спортсменов: анкетные и антропологические данные, гражданство, происхождение, вид спорта, клуб или команда, данные о личном рекорде или победах и так далее. Выбор по произвольному признаку. Поиск рекордсмена в заданном виде спорта.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.