Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP_Lab_16_17.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
14.46 Mб
Скачать

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

В приведенных ниже вариантах заданий под векторами подразумеваются одномерные массивы, а под матрицами – двумерные.

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

Выбор варианта задания согласуйте с преподавателем.

Таблица 1

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

Вариант

Задание

1

Реализовать операции сложения и вычитания двух прямоугольных матриц одинакового размера

2

Реализовать операцию транспонирования прямоугольной матрицы. Например, если для этой операции выбрать знак ~, то программа должна позволять вычислять выражения вроде A=~B. Понятно, что если матрица А имеет размер 3х4, то матрица В должна иметь размер 4х3

3

Реализовать операцию умножения двух прямоугольных матриц. Две матрицы можно перемножить, если число столбцов первой матрицы равно числу строк второй. Например, если первая матрица имеет размер 3х4, а вторая 4х2, то получим результирующую матрицу 3х2

4

Реализовать операцию умножения матрицы на заданную величину, а также сложения матрицы с заданной величиной

5

Реализовать операцию умножения матрицы на вектор. Например, если имеется матрица размером 3х4 и вектор размером 4, то в результате должен получиться вектор размером 3. Матрица и вектор должны быть реализованы как разные классы

6

Реализовать операции сложения и умножения векторов, для чего необходимо разработать два разных класса: один с данными вещественного типа, а другой – целого

7

Реализовать операцию прямого (внешнего) произведения двух прямоугольных матриц одинакового размера С=А*В. Элементы матрицы С являются произведением соответствующих элементов матриц А и В: С[i][j]=A [i][j]*B[i][j]

8

Реализовать операцию нормирования вектора путем приведения его значений к диапазону от -1 до +1

9

Реализовать операцию умножения матрицы на вектор. Например, если имеется матрица размером 3х4 и вектор размером 4, то в результате должен получиться вектор размером 3

10

Реализовать операции вычитания и деления векторов и проиллюстрировать возможность вычисления выражений вроде a=(b-c)/d, где a, b, c и d – векторы

11

Реализовать операции сложения и вычитания двух треугольных матриц одинакового размера

13.Программирование односвязного списка

Если в программе предусмотрен контроль всех исходных дан­ных, то преподаватель обязательно найдет способ, чтобы ошибочные данные прош­ли через этот контроль и завалили вашу программу

Закон Мерфи-ОВН

Цель работы – освоить разработку консольных приложений Windows, использующих односвязные списки для обработки данных (4 час.).

13.1.Задание

По работе [4] изучите подраздел 13.4 «Реализация связного списка как класса», в котором изложен сценарий создания односвязного списка и приведены листинги программы.

Создайте консольное приложение, добавьте в него класс узел связного списка и класс список на основе данных листингов. Разместите эти классы в разных файлах.

Выполните отладку приложения, тестируйте его и добейтесь корректной работы. Убедитесь, что по завершению работы вашей программы утечек памяти нет. Смотрите пример проекта LinkV2.exe.

Разработайте собственный класс узел (элемент списка) в соответствии с вашим вариантом задания, приведенным ниже в табл. 9.1. Далее необходимо разработать класс список, который будет оперировать объектами-узлами: добавлять, удалять и т.д. Один из вариантов реализации класса список имеется в работе [4].

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

Ваше приложение должно быть русифицировано, а еще лучше – украинизировано.

Варианты заданий приведены в табл. 9.1. Разрешается выбрать свой вариант задания, но перед выполнением согласовать его с преподавателем.

Предусмотрите в программе два варианта ввода данных, которые должны сохраняться в узлах списка:

  • ввод данных с клавиатуры;

  • чтение данных из текстового файла.

Эти варианты ввода должны выбираться с помощью меню.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]