Читайте также:
|
|
Разработанный класс для коллекции должен сопровождаться подробной документацией, чтобы его определение и реализацию можно было легко читать, использовать и модифицировать. Документация формируется на всех этапах проектирования коллекции, начиная с разработки АТД и заканчивая процессом отладки. В заключение разработки класса в качестве документации должны быть представлены дополненный и уточнённый формат АТД и сокращённое определение класса для клиентских программ.
АТД «НАДЁЖНЫЙ МАССИВ»
Массив данных указанного типа Т. Массив имеет переменную размерность. При создании массив имеет исходный, минимальный размер size0. Массив может увеличивать и уменьшать свою размерность. Операция индексирования массива выполняет проверку соответствия индекса текущему размеру массива size.
ДАННЫЕ:
Параметры:
Минимальный размер массива size0
Текущий размер массива size
Структура данных:
Динамический массив элементов указанного типа Т – T array [ size ]
ОПЕРАЦИИ:
Конструктор
Вход: исходный, минимальный размер массива size0 (по умолчанию size0 = 10)
Начальные значения: текущий размер массива size = size0
Процесс: Создание динамического массива T array [ size ] с размером size = size0
Постусловия: Создан массив с размером size = size0
Опрос размера массива
Вход: нет
Предусловия: нет
Процесс: чтение текущего размера size
Выход: текущий размер size
Постусловия: нет
Изменение размера массива
Вход: новый размер массива sizen
Предусловия: sizen size0,
Процесс: выделение памяти указанного размера sizen, копирование size или sizen значений из старого массива в новый массив
Выход: TRUE – массив изменён, FALSE - массив не изменён при невыполнении предусловия
Постусловия:
массив содержит size значений старого массива, если sizen> size,
массив содержит sizen значений старого массива, если sizen< size,
текущий размер массива size = sizen
Операция индексирования
Вход: значение индекса i
Предусловия: 0 i size- 1
Процесс: вычисление адреса элемента массива array [ i ]
Выход: ссылка на элемент массива array [ i ]
Постусловия: генерация сообщения об ошибке при невыполнении предусловия
КОНЕЦ АТД
Описание класса должно начинаться комментарием о его предназначении.
В разделе данных класса приводятся только те константы, переменные и структуры объекта, которые упомянуты в формате АТД. Помимо указания типов и имен констант, переменных и структур в комментариях должно быть указано их назначение и пределы изменения значений.
Интерфейс класса представляется только прототипами методов, содержащихся в открытой секции объекта. Комментарий для каждого метода содержит сведения о предназначении метода, о смысле всех входных параметров, смысле результатов. Также в комментарии должны быть сформулированы предусловия и постусловия в контексте программной среды объекта и метода.
ОПИСАНИЕ КЛАССА АТД «НАДЁЖНЫЙ МАССИВ»
//Шаблонный класс классArrayреализуетАТД «НАДЁЖНЫЙ МАССИВ».
//Массив элементов указанного типа Т с переменной размерностью size.
//При создании массив имеет исходный, минимальный размер size0. (по умолчанию size0. = 10).
//Массив может изменять свой размер size.
//Операция индексирования выполняет проверку соответствия индекса размеру size.
template <class T>
class Array
{
T* array; // массив
int size0; //первоначальный размер массива
int size; //текущий размер массива
public:
Array (int sz0 = 10); //конструктор
//sz0 - исходный размер массива,
// постусловие: создан массив array с размером size = sz0
Array(const Array<T> & A); //конструктор копирования
// &A – ссылка на копируемый объект-массив A,
// постусловие: массив array является копией A.array
~Array(void); //деструктор
//постусловие: объект уничтожен
int size (); // опрос текущего размера массива
//результат: int – размер массива array
bool Resize(int newsize);// изменение размера массива
//постусловие: массив array имеет размер size = newsize
T& operator [] (int i); //оператор индексирования:
//i -индекс в массиве, 0 i < size
//результат: T& - ссылка на элемент массива array[i]
//постусловие: генерация исключения типа int при i<0,
//при i size
};
2. Лабораторная работа «Сортировка коллекции»
Цели работы: Изучение и реализация методов сортировки. Экспериментальное исследование эффективности методов сортировки.
Дата добавления: 2015-11-04; просмотров: 65 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Отладка и тестирование | | | Алгоритмы внутренней сортировки |