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

Сопровождение

Постановка задачи. | Разработка структур данных и алгоритмов | Friend class Iterator; | Задание к лабораторной работе | Методические указания к выполнению задания | Структуры списков | Задание к лабораторной работе | Методические указания к выполнению задания | Структуры BST - деревьев | Задание к лабораторной работе |


Читайте также:
  1. Видео сопровождение для путешествия по сайту.
  2. Вопрос 41 Место доставки товаров при внутреннем таможенном транзите. Транзитная декларация. Таможенное сопровождение. Случаи принятия решения о таможенном сопровождении
  3. Образец заявки на сопровождение организованной перевозки группы детей автобусами
  4. Подача заявки на сопровождение автобусов
  5. Тема 3. Педагогическое сопровождение разных категорий детей
  6. Учебно-методическое сопровождение

Разработанный класс для коллекции должен сопровождаться подробной документацией, чтобы его определение и реализацию можно было легко читать, использовать и модифицировать. Документация формируется на всех этапах проектирования коллекции, начиная с разработки АТД и заканчивая процессом отладки. В заключение разработки класса в качестве документации должны быть представлены дополненный и уточнённый формат АТД и сокращённое определение класса для клиентских программ.

 

АТД «НАДЁЖНЫЙ МАССИВ»

Массив данных указанного типа Т. Массив имеет переменную размерность. При создании массив имеет исходный, минимальный размер 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 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Отладка и тестирование| Алгоритмы внутренней сортировки

mybiblioteka.su - 2015-2024 год. (0.009 сек.)