ООП. Объектно-ориентированное программирование. ЛР1 вариант 2. ЛР2 вариант 2

Лабораторная работа
в среде программирования Visual C++ .NET 2019



Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: Visual C++ .NET 2019

Название работы: ООП. Объектно-ориентированное программирование. ЛР1 вариант 2. ЛР2 вариант 2

Вид работы: Лабораторная работа

Описание: Объектно-ориентированное программирование.

Лабораторная работа 1.
Вариант 2.
В ходе работы необходимо, не используя контейнеры библиотеки шаблонов STL, разработать класс Array, содержащий:
• конструктор (задает начальные значения полям класса);
• деструктор (освобождает память, которая выделялась под массив);
• метод, резервирующий память под массив, состоящий из N элементов, где N – это аргумент метода;
• метод, задающий значение k-го элемента массива, где индекс k и значение элемента массива являются аргументами метода;
• метод, заполняющий массив псевдослучайными числами с распределением согласно индивидуальному заданию;
• метод, выводящий элементы массива на экран (консольное окно);
• метод, выводящий на экран текущий размер массива, выраженный в числе его элементов и в байтах, для его хранения;
• дополнительный метод;
• поле, хранящее размер массива;
• поле, хранящее указатель на массив.
Вариант 2. Разработать класс array_sort для работы с массивами динамической длины. Тип данных – int. Для генерации псевдослучайных чисел использовать 32-битный алгоритм MT19937 и случайное начальное значение. Дополнительный метод: сортировка элементов массива.
1. Создать проект с именем, состоящим из имени студента и номера учебной группы (например, Sidorov_169_1) и содержащим файлы с программным кодом из приложения A. (Объявление класса поместить в заголовочный файл *.h, а его реализацию – в исполняемый *.cpp. Имена этих файлов должны совпадать с именем разрабатываемого класса. Функция main(), создание объектов класса и работа с ними должны быть помещены в файл main.cpp.)
2. Выполнить анализ работы программного кода из созданного проекта.
Программа посредством текстового меню предлагает протестировать все методы созданного класса. Пункты меню:
1 - the mode of creating an array
2 - the mode of changing array elements
3 - the mode of filling an array with random numbers
4 - the mode of displaying array elements
5 - the mode of displaying array size
6 - the mode of sorting array elementsd
7 - the output mode
3. Выполнить модернизацию программного кода созданного проекта для того, чтобы его элементы были именованы согласно рекомендациям из приложения В учебного пособия по дисциплине [3].
4. Модернизировать программный код класса, чтобы он содержал все методы, указанные в подразд. 2.4.
5. При реализации методов класса предусмотреть обработку ошибочных ситуаций: индекс k выходит за рамки массива; индекс k меньше нуля или больше размера массива; размер массива меньше или равен нулю и др. (при необходимости).
6. Выполнить тестирование работы созданного проекта. Для этого в функции main() создать объект разработанного класса и с его помощью продемонстрировать работу всех методов класса. Вызов каждого метода (кроме конструктора и деструктора) организовать с помощью считывания данных из консоли и вывода в консоль. При этом должно быть выполнено тестирование всех ветвлений работы методов класса как при корректном, так и при некорректном задании требуемых параметров (аргументов методов).
7. Оформить отчет по проделанной работе.

Лабораторная работа 2.
Вариант 2.
Ход выполнения работы.
Согласно индивидуальному заданию, не используя контейнеры библиотеки шаблонов STL, следует разработать проект, в котором реализована иерархия наследования классов. Классы должны содержать конструкторы и деструкторы, методы ввода и вывода информации на экран, а также предписанный заданием метод. При этом базовый класс должен быть определен как абстрактный, а предписанный метод должен быть определен как чисто виртуальный в базовом классе и переопределен в производных. При разработке производных классов их определения и реализации должны содержаться в раздельных файлах. Абстрактный класс должен быть помещен в отдельный файл. В отдельный файл также должна быть помещена функция main(), с помощью которой должна быть продемонстрирована корректная работа разработанных классов.
Вариант 2. Разработать абстрактный базовый класс с виртуальным методом норма и производные классы комплексное_число (с вещественной и мнимой частями типа double), вектор (10 элементов типа double) и матрица (размер 2x2, элементы типа double) со своими реализациями этого метода. Для реализации использовать абсолютное значение в квадрате, квадратный корень из суммы квадратов элементов и максимальную сумму из абсолютных значений элементов по строкам соответственно.
1. Создать проект (подразд. 2.3) с именем, состоящим из имени студента и номера учебной группы (например, Sidorov_169_1) и содержащим файлы с программным кодом, согласно индивидуальному заданию с учетом требований из подразд. 4.7. (Объявления классов поместить в заголовочные файлы *.h, а их реализацию – в исполняемые *.cpp. Имена этих файлов должны совпадать с именами разрабатываемых классов. Базовый класс поместить в один заголовочный файл. Функция main(), создание объектов классов и работа с ними должны быть помещены в файл main.cpp.)
2. Все элементы программного кода именовать согласно рекомендациям из приложения В учебного пособия по дисциплине [3].
3. При реализации методов классов предусмотреть обработку ошибочных ситуаций в части вводимой информации: индекс k выходит за рамки массива; индекс k меньше нуля или больше размера массива; размер массива меньше или равен нулю и др. (при необходимости).
4. Выполнить тестирование работы созданного проекта. Для этого в функции main() создать объекты разработанных производных классов (с помощью считывания данных из консоли и при необходимости вывода в консоль) и продемонстрировать работу переопределенных методов. При этом должно быть выполнено тестирование всех ветвлений работы методов класса как при корректном, так и при некорректном задании требуемых параметров (аргументов методов).
5. Оформить отчет по проделанной работе.

Год: 2023

Данный заказ (лабораторная работа) выполнялся нашим сайтом в 2023-м году, в рамках этого заказа была разработана программа в среде программирования Visual C++ .NET 2019. Если у Вас похожее задание на программу, которую нужно написать на Visual C++ .NET 2019, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2023-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Тел.: +79374242235
Viber: +79374242235
Telegram: kursovikcom
ВКонтакте: kursovikcom
WhatsApp +79374242235
E-mail: info@kursovik.com
Skype: kursovik.com