Файл: Занятие 5 по дисциплине Технологии и методы программирования.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.12.2023

Просмотров: 14

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Национальный исследовательский университет «МЭИ»
Задание на практическое занятие 5
по дисциплине «Технологии и методы программирования»
Цель: приобретение навыков работы с заголовочными файлами и шаблонами.
Задание: разработать программу в соответствии с вариантом по номеру в журнале.
Описание:
Требуется разработать на языке С++, без использования сторонних библиотек (стандартные заголовочные файлы сторонними не являются!) и фреймворков следующую библиотеку:
Варианты:
1) Библиотека для работы с комплексными числами. Комплексные числа реализуются через специальный класс. Действительная и мнимая часть комплексных числа могут быть разных (произвольных) типов данных.
Должны быть реализованы методы сложения, вычитания, умножения, деления, вычисления модуля, возведения в степень, извлечения корня.
2) Библиотека для работы с точками в n-мерном пространстве. Точки задаются через специальный класс с возможностью указания размерности пространства. Координаты точки могут быть разных (произвольных) типов данных. Должны быть реализованы методы нахождения длины вектора по заданной точке, сравнения длин векторов, их сумм и разностей. Должна быть реализована функция нахождения барицентра массива точек.

2 3) Библиотека для работы с самоупорядочивающимся массивом. Массив реализуется как односвязный список. Массив может хранить различные
(произвольные) типы данных. Необходимо иметь возможность обращаться к элементам массива по индексу, выводить массив, и добавлять в него элементы, складывать и вычитать элементы из массива
(через операторы), делить массив, вырезать часть массива.
Библиотека должна быть оформлена как отдельный заголовочный файл (.h) с файлом реализации (.cpp). Библиотека реализует собственное пространство имен.
Основная программа должна кратко показывать принципы и механизмы взаимодействия с библиотекой, включая аномальные ситуации. Доступ к полям классов осуществлять через сеттеры и геттеры, в которых и должна быть реализована проверка аномальных ситуаций. Эти ситуации (включая проверки в самой библиотеке) должны быть обработаны с помощью блока try…catch и функции throw. В библиотеке использовать хотя бы раз:

статическую функцию (или метод)

статическую переменную (или объект)

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