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