Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadanie_na_RGZ_po_IIP.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
54.09 Кб
Скачать

Спецификация типа данных Упорядоченный по возрастанию список целых чисел.

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

ADT TOrderedList

Данные

Списки значений типа T (смотри вариант задания), упорядоченные в соответствии с вариантом задания - это изменяемые неограниченные упорядоченные (в соответствии с вариантом задания) последовательности значений типа T. Они изменяются операциями: Опустошить, Вставить, Удалить.

Операции

Таблица 3. Операции на упорядоченном списке.

СоздатьСписок

Вход:

Нет.

Предусловия:

Имеется в наличии свободная динамическая память в куче.

Процесс:

Создаёт динамическую переменную типа TOrderedList – пустой список.

Выход:

Нет.

Постусловия:

Нет.

СписокВСтроку

Вход:

Нет.

Предусловия:

Нет.

Процесс:

Формирует строку, содержащую строковое представление значений элементов списка.

Выход:

Строка.

Постусловия:

Нет.

Элементов

Вход:

Нет.

Предусловия:

Нет.

Процесс:

Подсчитывает и возвращает число элементов списка.

Выход:

Целое число.

Постусловия:

Нет.

Элемент

Вход:

J - индекс элемента списка.

Предусловия:

Список не пуст и индекс не выходит из допустимого диапазона.

Процесс:

Обеспечивает доступ к элементу списка по индексу J для чтения так, что если изменять J от 0 до количества элементов в списке -1, то можно просмотреть все элементы списка.

Выход:

Элемент списка.

Постусловия:

Список не модифицируется.

Опустошить

Вход:

Нет.

Предусловия:

Нет.

Процесс:

Удаляет все элементы из списка.

Выход:

Нет.

Постусловия:

Список - пуст.

Вставить

Вход:

Е – значение типа T.

Предусловия:

Нет.

Процесс:

Добавляет E к элементам списка, сохраняя упорядоченность.

Выход:

Нет.

Постусловия:

Количество элементов списка увеличивается на 1.

Найти

для вариантов 1,2

Вход:

K – значение типа T, которое необходимо найти в списке.

Предусловия:

Нет.

Процесс:

Просмотр списка для нахождения целого числа K. Если искомое число K в списке не найдено, возвращает -1; если найдено, возвращает индекс найденного элемента в списке. Элементы списка индексируются целыми числами, начиная с 0.

Выход:

Целое значение – индекс найденного элемента в списке, -1 – если элемент в списке отсутствует.

Постусловия:

Нет.

Удалить

для вариантов 1,2

Вход:

Е – значение типа T.

Предусловия:

Список не пуст.

Процесс:

Удаляет из списка элемент E, если такой имеется в списке.

Выход:

Нет.

Постусловия:

Если Е найден в списке, количество элементов списка уменьшается на 1.

Пуст

Вход:

Нет.

Предусловия:

Нет.

Процесс:

Определяет, пуст ли список. Возвращает значение True, если список пуст, False –в противном случае.

Выход:

Булевское значение

Постусловия:

Нет.

end TOrderedList

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]