Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные_методичка.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Варианты заданий.

Вариант 1

Шаблон функции MIN() возвращающая минимальное значение для двух чисел, символов и вещественных чисел и протестировать её.

Вариант 2

Шаблон функции MAX() возвращающая максимальное значение для двух чисел, символов и вещественных чисел и протестировать её.

Вариант 3

Шаблон функции INVERSIA(), выводящую элементы в обратном порядке их следования, для строки и целых чисел и протестировать ее;

Вариант 4

Шаблон функции SORT(), реализующую сортировку данных по возрастанию по методу выборки, переопределить ее для длинных целых, и вещественных чисел и протестировать её.

Вариант 5

Шаблон функции SORT(), реализующую сортировку данных по убыванию по методу включения, переопределить ее для длинных целых, и вещественных чисел и протестировать её.

Вариант 6

Шаблон функции SORT(), реализующую сортировку данных по возрастанию по методу обменов, переопределить ее для длинных целых, и вещественных чисел и протестировать её.

Вариант 7

Шаблон функции SORT(), реализующую сортировку данных по убыванию по методу распределения, переопределить ее для длинных целых, вещественных чисел и строк и протестировать её.

Вариант 8

Шаблон функции SORT(), реализующую сортировку данных по возрастанию по методу быстрой сортировки, переопределить ее для длинных целых, и вещественных чисел и протестировать её.

Вариант 9

Шаблон функции SORT(), реализующую сортировку данных по убыванию по методу слияния, переопределить ее для длинных целых, и вещественных чисел и протестировать её.

Вариант 10

Шаблон функции FIND(), реализующую поиск данных по методу бинарного поиска, переопределить ее для длинных целых, и вещественных чисел и протестировать её.

Содержание отчета.

  1. Титульный лист: название дисциплины, номер и наименование работы, фамилия, имя, отчество студента, дата выполнения.

  2. Постановка задачи.

  3. Следует дать конкретную постановку, т.е указать шаблон какого класса должен быть создан, какие должны быть в нем конструкторы, компоненты-функции, перегруженные операции и т.д.

  4. То же самое следует указать для пользовательского класса.

  5. Определение шаблона класса с комментариями.

  6. Определение пользовательского класса с комментариями.

  7. Реализация конструкторов, деструктора, операции присваивания и операций, которые заданы в варианте задания.

  8. То же самое для пользовательского класса.

  9. Результаты тестирования. Следует указать для каких типов и какие операции проверены и какие выявлены ошибки (или не выявлены)

Контрольные вопросы

  1. В чем смысл использования шаблонов?

  2. Каковы синтаксис/семантика шаблонов функций?

  3. Каковы синтаксис/семантика шаблонов классов?

  4. Перечислите основные свойства параметров шаблона функции.

  5. Как записывать параметр шаблона?

  6. Можно ли перегружать параметризованные функции?

  7. Перечислите основные свойства параметризованных классов.

  8. Может ли быть пустым список параметров шаблона? Объясните.

  9. Как вызвать параметризованную функцию без параметров?

  10. Все ли компонентные функции параметризованного класса являются параметризованными?

  11. Являются ли дружественные функции, описанные в параметризованном классе, параметризованными?

  12. Могут ли шаблоны классов содержать виртуальные компонентные функции?

  13. Как определяются компонентные функции параметризованных классов вне определения шаблона класса?