Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Операции




Задание

1. В соответствии с приведенной ниже спецификацией реализовать тип «множество». Для тестирования в качестве значения для типаT выберите тип int.

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

3. Оттестировать тип данных в целом.

Спецификация типа данных «множество»

ADTTSet

Данные

Множества - это изменяемые неограниченные наборы элементов типа T. Содержимое множества изменяется следующими операциями:

· Опустошить (опустошение множества);

· Добавить (добавление элемента во множество);

· Удалить (извлечение элемента из множества).

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

Операции

Операции могут вызываться только объектом «множество» (тип TSet), указатель на который передаётся в них по умолчанию. При описании операций этот объект в разделе «Вход» не указывается.

Таблица 1. Описание операций на ADT TSet.

Наименование Операции Описание
Конструктор
Начальные значения: Нет.
Процесс: Создаёт пустое множество элементов типа T.
 
Опустошить  
Вход: Нет.
Предусловия: Нет.
Процесс: Удаляет из множества все элементы.
Выход: Нет.
Постусловия: Множество - пусто.
 
Добавить  
Вход: d – элемент типа Т.
Предусловия: Нет.
Процесс: Добавляет d во множество, если в нем нет такого элемента.
Выход: Нет.
Постусловия: Множество содержит элемент d.
 
Удалить  
Вход: d – элемент типа Т.
Предусловия: Нет.
Процесс: Удаляет элемент d из множества, если d принадлежит множеству.
Выход: Нет.
Постусловия: Множество не содержит элемент d.
 
Пусто  
Вход: Нет.
Предусловия: Нет.
Процесс: Определяет, содержит ли множество элементы. Возвращает значение True, если множество не пусто, False – в противном случае.
Выход: Булевское значение.
Постусловия: Нет.
 
Принадлежит  
Вход: d – элемент типа Т.
Предусловия: Нет.
Процесс: Определяет, принадлежит ли элемент d множеству. Возвращает True, если d принадлежит множеству, False - в противном случае.
Выход: Булевское значение.
Постусловия: Нет.
 
Объединить  
Вход: Множество q.
Предусловия: Нет
Процесс: Создаёт множество, полученное в результате объединения множества с множеством q.
Выход: Множество.
Постусловия: Нет.
 
Вычесть  
Вход: Множество q.
Предусловия: Нет.
Процесс: Создаёт множество, полученное в результате вычитания из множества множество q.
Выход: Множество.
Постусловия: Нет.
 
Умножить  
Вход: Множество q.
Предусловия: Нет.
Процесс: Создаёт множество, являющееся пересечением множества с множеством q.
Выход: Множество.
Постусловия: Нет.
 
Элементов  
Вход: Нет.
Предусловия: Нет.
Процесс: Подсчитывает и возвращает количество элементов во множестве, если множество пустое - ноль
Выход: Целое - количество элементов во множестве.
Постусловия: Нет.
 
Элемент  
Вход: j - номер элемента множества.
Предусловия: Нет.
Процесс: Обеспечивает доступ к элементу множества для чтения по индексу j так, что если изменять j от 1 до количества элементов во множестве, то можно просмотреть все элементы множества.
Выход: Элемент множества типа Т.
Постусловия: Множество не модифицируется

Поделиться:

Дата добавления: 2015-07-26; просмотров: 53; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты