Задание. В каждом задании требуется разработать структуру данных для хранения приведенной в задании информации и реализовать набор функций для обеспечения работы

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

Вариант 1.

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

Сведения о каждом автобусе включают:

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

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

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

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

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

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

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

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

Вариант 2.

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

Сведения о книгах включают:

¨ номер УДК;

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

¨ название;

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

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

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

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

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

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

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

Вариант 3.

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

Сведения заявка включает:

¨ пункт назначения;

¨ номер рейса;

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

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

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

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

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

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

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

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

Вариант 4.

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

Сведения заявка включает:

¨ пункт назначения;

¨ номер рейса;

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

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

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

¨ хранение всех заявок в виде двоичного дерева;

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

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

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

Вариант 5.

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

Сведения о книгах включают:

¨ номер УДК;

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

¨ название;

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

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

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

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

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

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

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

Вариант 6.

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

Сведения о каждом автобусе включают:

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

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

¨ номер маршрута;

¨ признак того, где находится автобус – на маршруте или в парке.

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

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

¨ при выезде каждого автобуса из парка вводится номер автобуса, и программа устанавливает значение признака “автобус на маршруте”;

¨ при въезде каждого автобуса в парк вводится номер автобуса, и программа устанавливает значение признака “автобус в парке”;

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

Вариант 7.

Составить программу, отыскивающую проход по лабиринту.

Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещён. Если квадрат открыт, то вход в него возможен со стороны, но не с угла. Каждый квадрат определяется его координатами в матрице.

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

Вариант 8.

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

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

Вариант 9.

Написать программу, моделирующую заполнение гибкого магнитного диска.

Общий объём памяти на диске 360 Кбайт. Файлы имеют произвольную длину от 18 байт до 32 Кбайт. В процессе работы файлы либо записываются на диск, либо удаляются с него.

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

В случае, когда файл превосходит длину самого большого участка, выдаётся аварийное сообщение. Требование на запись или удаление файла задаётся в командной строке, которая содержит имя файла, его длину в байтах, признак записи или удаления. Программа должна выдавать по запросу сведения о занятых и свободных участках памяти на диске.

Указание: следует создать список занятых участков и список свободных участков памяти на диске.

Вариант 10.

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

Для каждого файла в каталоге содержатся следующие сведения:

¨ имя файла;

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

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

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

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

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

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

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

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

Вариант 11.

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

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

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

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

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

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

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

Вариант 12.

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

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

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

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

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

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

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

Вариант 13.

Картотека в бюро обмена квартир организована в виде линейного списка.

Сведения о каждой квартире включают:

¨ количество комнат;

¨ этаж;

¨ площадь;

¨ адрес.

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

¨ начальное формирование картотеки;

¨ ввод заявки на обмен;

¨ поиск в картотеке подходящего варианта: при равенстве количества комнат и этажа и различий площадей в пределах 10% соответствующая карточка выводится и удаляется из списка, в противном случае поступившая заявка включается в список;

¨ вывод всего списка.

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

Вариант 14.

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

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

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

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

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

¨ формирует новое представление словаря в виде двоичного дерева по следующему алгоритму:

a) в старом словаре ищется компонента с наибольшим значением счётчика обращений;

b) найденная компонента удаляется из словаря и удаляется из старого;

c) переход к п. a) до исчерпания исходного словаря.

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

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

Вариант 15.

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

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

¨ возраст;

¨ пол;

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

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

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

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

¨ на основе анализа анкет выдаёт ответы на следующие вопросы:

a) сколько мужчин старше 40 лет, имеющих высшее образование, ответили ДА на вопрос анкеты;

b) сколько женщин моложе 30 лет, имеющих среднее образование, ответили НЕТ на вопрос анкеты;

c) сколько мужчин моложе 25 лет, имеющих начальное образование, ответили ДА на вопрос анкеты;

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

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

Вариант 16.

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

Сведения о книгах включают:

¨ номер УДК;

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

¨ название;

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

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

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

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

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

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

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

Вариант 17.

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

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

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

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

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

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

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

Вариант 18.

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

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

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

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

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

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

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

Вариант 19.

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

Для каждого поезда указывается:

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

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

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

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

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

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

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

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

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

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

Вариант 20.

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

Для каждого поезда указывается:

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

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

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

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

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

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

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

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

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

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


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




Подборка статей по вашей теме: