- •Вариант 1 Линия метро
- •Порядок выполнения работы
- •Вариант 2 Гостиница
- •Порядок выполнения работы
- •Вариант 3 Программа на ассемблере
- •Порядок выполнения работы
- •Вариант 4 Студенты института
- •Порядок выполнения работы
- •Вариант 5 Книжный каталог
- •Порядок выполнения работы
- •Вариант 6 Таблица идентификаторов
- •Порядок выполнения работы
- •Вариант 7 Учебные группы
- •Порядок выполнения работы
- •Вариант 8 Информационные агентства
- •Порядок выполнения работы
- •Вариант 9 Учебный план
- •Порядок выполнения работы
- •Вариант 10 Спортивная команда
- •Порядок выполнения работы
- •Вариант 11 Файловая система
- •Порядок выполнения работы
- •Вариант 12 Телефонный сервис
- •Порядок выполнения работы
- •Вариант 13 Торговый склад
- •Порядок выполнения работы
- •Вариант 14 Жилищный фонд
- •Порядок выполнения работы
- •Вариант 15 Туристическое бюро
- •Порядок выполнения работы
- •Вариант 16 Банковские операции
- •Порядок выполнения работы
- •Вариант 17 Отдел кадров
- •Порядок выполнения работы
- •Вариант 18 Жилищная контора
- •Порядок выполнения работы
- •Вариант 19 Налоговая служба
- •Порядок выполнения работы
- •Вариант 20 Сетевой сервер
- •Порядок выполнения работы
- •Вариант 21 Семестровый контроль
- •Порядок выполнения работы
- •Вариант 22 Сетевой сервис
- •Порядок выполнения работы
Вариант 5 Книжный каталог
Разработать приложение, позволяющее организовать учёт книжных фондов библиотеки. Информация об издании (книге) в библиотеке хранится в описателе издания.
Описатель учебного издания содержит следующую информацию: фамилия и инициалы автора, название издания ; год и издательство; количество экземпляров; название курса, использующего это издание и перечень индексов групп (от одной до восьми групп).
Описатель научного издания содержит следующую информацию: фамилия и инициалы автора, название издания; год и издательство; количество экземпляров; названия курсов, использующих это издание (от одного до трех курсов).
Описатель художественного издания содержит следующую информацию: фамилия и инициалы автора, название издания; год и издательство; количество экземпляров; тематика литературного произведения.
Каждое издание имеет уникальную характеристику – шифр издания. Информация обо всех изданиях, хранящихся в библиотеке, сведена в таблицу, каждый элемент которой содержит шифр издания и указатель на его описатель. Элементы таблицы упорядочены по возрастанию значений шифра издания.
Обеспечить выполнение следующих операций.
-
Для таблицы
-
включить новый элемент, не нарушая упорядоченности;
-
найти элемент по заданному шифру;
-
удалить элемент, заданный шифром;
-
показать содержимое таблицы.
-
-
Для любого издания:
-
вывести информацию об издании;
-
вернуть в качестве результата тип литературы;
-
вернуть количество экземпляров; изменить количество экземпляров.
-
-
Для учебного или научного издания:
-
вернуть в качестве результата перечень названий курсов, использующих это издание;
-
изменить или добавить название курса, использующего это издание.
-
-
Для художественного издания:
-
вернуть в качестве результата тематику литературного произведения.
-
-
Для приложения
-
оформить поступление нового издания (создается новая запись в таблице);
-
оформить выдачу экземпляра издания (уменьшение количества хранящихся книг);
-
оформить возврат экземпляра издания;
-
определить тип издания по заданному шифру;
-
получить отчёт обо всех изданиях, имеющихся в библиотеке, в краткой форме;
-
(*)показать информацию о курсах, обеспеченных литературой, используя класс-итератор.
-
Порядок выполнения работы
-
На основе описания задачи определить состав классов.
-
Разработать иерархию классов и схему их взаимодействия.
-
Для каждого класса определить его состояние и необходимые методы.
-
Разработать и отладить все классы. Приложение реализовать в виде простой диалоговой программы.
-
(*) Разработать и отладить класс, реализующий работу приложения. Предусмотреть в классе возможность сохранения таблицы в файле и ее восстановления.
-
(*) Разработать и отладить класс-итератор, с помощью которого реализовать дополнительные операции.
Примечание: пункты задания, отмеченные (*), являются дополнительными.
Вариант 6 Таблица идентификаторов
Разработать приложение, реализующее работу компонента транслятора-интерпретатора. При трансляции и интерпретации программы необходимо иметь информацию об используемых в программе идентификаторах. Такая информация хранится в описателе–дескрипторе идентификатора. Идентификатор – последовательность латинских букв длиной не больше 8 символов.
Дескриптор простой переменной содержит следующую информацию: признак определенности переменной и значение переменной (например, целое число).
Дескриптор вектора содержит следующую информацию: максимальный размер; адрес памяти, выделенной под вектор.
Дескриптор матрицы содержит следующую информацию: максимальный размер по каждому измерению; адрес памяти, выделенной под матрицу.
Каждый элемент вектора или матрицы (массива) содержит признак определенности переменной и значение; память под массив выделяется динамически.
Информация обо всех идентификаторах сведена в таблицу, каждый элемент которой содержит идентификатор переменной и указатель на дескриптор. Элементы таблицы упорядочены в алфавитном порядке.
Обеспечить выполнение следующих операций.
-
Для таблицы:
-
включить новый элемент, не нарушая упорядоченности;
-
найти элемент по идентификатору переменной;
-
удалить элемент, заданный идентификатором переменной;
-
показать содержимое таблицы.
-
-
Для простой переменной:
-
вывести информацию о переменной;
-
определить (вернуть в качестве результата) тип дескриптора;
-
получить (вернуть в качестве результата) признак определённости переменной;
-
установить значение переменной;
-
вывести значение переменной.
-
-
Для массива (вектора или матрицы ):
-
вывести информацию о массиве;
-
определить (вернуть в качестве результата) тип дескриптора;
-
получить (вернуть в качестве результата) признак определённости массива (массив определен, если определены все его элементы);
-
записать в определённый элемент массива, заданный его индексом (индексами);
-
вывести значение элемента массива, заданного его индексом (индексами).
-
-
Для приложения:
-
внесение идентификатора в таблицу при условии, что его в таблице нет (с инициализацией неопределённым значением);
-
определение переменной (части массива);
-
исключение описания переменной из таблицы;
-
вывести информацию обо всех идентификаторах в краткой форме;
-
(*) вывести информацию по определённому типу идентификаторов, используя класс-итератор.
-