Отчет по практикеПрограммированиеГод: 2025МУИВ: Московский университет им. С.Ю. Витте
👁 8💼 0

Готовый отчет: Разработка модуля «Калькулятор матриц»

Загружена: 20.02.2026 08:10

Калькулятор матриц на C# для операций сложения, вычитания, умножения и транспонирования. Описаны алгоритмы, блок‑схемы (Visio), реализация класса MyMatrix в Visual Studio 2019, способы отладки и сценарии тестирования. Полезно для выполнения отчёта по практике и отработки навыков разработки модулей.

Содержание

Специальность: 09.02.07 Информационные системы и программирование

ОТЧЕТ
ПО ПРАКТИКЕ
вид практики
ПРОИЗВОДСТВЕННАЯ ПРАКТИКА (ПО ПРОФИЛЮ СПЕЦИАЛЬНОСТИ)
В СОСТАВЕ ПРОФЕССИОНАЛЬНОГО МОДУЛЯ
ПМ.01 Разработка модулей программного обеспечения для компьютерных систем
ПЕРИОД ПРОВЕДЕНИЯ:	6 семестр	3 курс

ВЫПОЛНИЛ СТУДЕНТ (КА): Орешкин Александр Федорович
                                                             фамилия, имя, отчество полностью

КУРС: 3	ГРУППА: КВДтБсп 111п-22

Введение

Производственная практика является необходимым этапом формирования у обучающихся требуемых компетенций.
Целью производственной практики (по профилю специальности) является овладение профессиональной деятельностью и соответствующими профессиональными компетенциями; закрепление и углубление знаний, полученных в процессе теоретического обучения; приобретение необходимых умений, навыков и опыта практической работы по специальности 09.02.07 Информационные системы и программирование.
Задачи производственной практики обусловлены индивидуальным заданием:
анализ поставленной задачи;
выбор методов и разработка основных алгоритмов решения;
выбор технологии и среды программирования;
построение каркаса приложения и проектирование интерфейса пользователя;
разработка кода программного продукта на основе готовой спецификации;
выбор стратегии тестирования и разработки тестов;
использование средств отладки представляемых интерфейсом пользователей;
проведение тестирования программного модуля по определенному сценарию;
оформление документации на программное средство.
Отчет практики состоит из пяти разделов.
В первом разделе описывается разработка алгоритма поставленной задачи и реализация его средствами автоматизированного проектирования.
Во втором разделе обоснован выбор технологии среды программирования описан спроектированный интерфейс пользователя и разработан код программного продукта.
В третьем разделе описано использование инструментальных средств на этапе отладки программного модуля.
В четвертом разделе описано проведение тестирования программного модуля, охарактеризовано функциональное, структурное, оценочное тестирование.
Пятый раздел посвящен оформлению документации на программное средство.
Производственная практика проходила в ООО «ИГ «Абсолют». Продолжительность практики составила 2 недели. За этот период я имел возможность познакомиться с работой компании, изучить основные процессы и участвовать в реализации ряда проектов.
Общая характеристика организации ООО «ИГ «Абсолют»
ООО «ИГ «Абсолют» представляет собой высококвалифицированную организацию в области информационных технологий. Путем внедрения передовых решений и технологий, компания стремится обеспечивать качество и успех своих клиентов, поддерживая активное развитие своих сотрудников и общества в целом. С учетом динамичных изменений в индустрии IT, «Абсолют» рассматривает каждую возможность для усовершенствования своего подхода и расширения спектра услуг. ООО «ИГ «Абсолют» специализируется на:
Проектирование и программирование веб-приложений, мобильных приложений, ERP и CRM систем для автоматизации бизнес-процессов.
Создание структурированных баз данных, проектирование моделей данных, поддержка и управление базами данных (MySQL, PostgreSQL, Oracle и др.).
Консультации по оптимизации процессов, выбору и внедрению IT-решений, оценка информационной безопасности.
Предложение услуг в области аналитики данных, BI (Business Intelligence), прогнозирования и работы с большими данными.
Проведение тренингов, курсов повышения квалификации, сертификационных программ для сотрудников и клиентов.
Преимущества работы с ООО «ИГ «Абсолют»:
Качество и надежность. Компания стремится обеспечивать высокое качество услуг, что позволяет ей завоевывать доверие клиентов на протяжении многих лет.
Профессиональный коллектив. В команде ООО «ИГ «Абсолют» работают высококвалифицированные специалисты, которые готовы решать сложные задачи и внедрять инновационные решения.
Индивидуальный подход к каждому клиенту. Компания понимает уникальные потребности каждого клиента и предлагает индивидуальные решения, что помогает успешно реализовать проекты различной сложности и масштаба.
ООО «ИГ «Абсолют» зарекомендовала себя как ведущий игрок на рынке Сахалина, предоставляя своим клиентам высококачественные услуги и демонстрируя при этом профессионализм и ответственность на всех этапах работы.
Практику я проходил в отделе проектирования баз данных(ОПБД)
Задачи отдела ОПБД:
- Сбор и анализ требований от пользователей и заинтересованных сторон для определения нужд в данных и функциональности баз данных.
- Проектирование логической и физической структуры баз данных, включая таблицы, связи между ними, ограничивающие условия и индексы.
- Применение принципов нормализации для минимизации избыточности данных и обеспечения их целостности и непротиворечивости.
- Оптимизация работы баз данных через создание индексов, написание эффективных SQL-запросов и анализ производительности существующих систем.
- Создание и документирование схем баз данных (ER-диаграмм), чтобы визуализировать их структуру и взаимосвязи.
- Разработка и внедрение политик управления данными, включая обеспечение безопасности данных и контроль доступа к ним.
- Проведение тестирования разработанных баз данных на функциональность, производительность и безопасность, а также устранение возникающих проблем.
- Обеспечение постоянной работы баз данных, включая их резервное копирование, восстановление, обновление и мониторинг.
Индивидуальное задание
2.1 Разработка алгоритма поставленной задачи и реализация его средствами автоматизированного проектирования
2.1.1 Анализ поставленной задачи
Необходимо написать программу, которая будет выполнять действия над матрицами: умножения, сложения, вычитания, транспонирования. Программа должна решать введенные вручную матрицу в форму. Для удобства пользователя программа должна иметь интуитивно понятный интерфейс.
2.2.2 Выбор методов и разработка основных алгоритмов решения
В программе используется следующий алгоритм работы: в программе есть формы, в которые вводятся элементы матриц, элементы переводятся из String типа в Integer. Затем нужно нажать кнопку соответствующего действия. Выполняется алгоритм решения матриц и результат выводится в элемент DataGridView.
Для построения блок-схем использовалась программа Microsoft Office Visio 2019. С её помощью можно составлять различные диаграммы и схемы, в том числе, блок-схемы.
Рисунок 1.1 - Блок схема считывания и записи данных из записи в массив
Рисунок 1.2 - Проверка на доступность для ввода
Рисунок 1.3 - Блок схема ввода данных в textbox и сравнения с существующим массивом
Рисунок 1.4 - Вызов метода Vizov с параметрами
2.2 Разработка кода программного продукта на основе готовой спецификации на уровне модуля
Калькулятор матриц реализован на языке программирования C# в среде программирования Microsoft Visual Studio Ultimate 2019. Выбор языка C# обусловлен тем, что он современный и популярный объектно-ориентированный язык программирования, а среда Microsoft Visual Studio Ultimate 2019 является мощным средством, позволяющим быстро создать программу, обладающую графическим оконным интерфейсом.
Макет окна представлен на рисунке 2.1
Рисунок 2.1 - Оконный интерфейс будущего приложения
На форме располагается 3 элемента DataGridView, в них будут размещаться матрицы. Так же 4 Button для выполнения действий над матрицами.
2.3 Использование инструментальных средств на этапе отладки программного модуля
При отладке программного продукта необходимо воспользоваться командой меню Отладка (рис. 3.1). В меню отладка существуют ряд команд, назначение которых представлено ниже.
Рисунок 3.1- Окно меню Отладка
Окна- открывает в интегрированной среде окно Точки останова, которое дает доступ ко всем точкам останова данного решения. Показывает в интегрированной среде окно Вывод.
Окно Вывод - это бегущий журнал множества сообщений, выдаваемых интегрированной средой, компилятором и отладчиком. Поэтому эта информация относится не только к сеансу отладки, а также открывает в интегрированной среде окно Интерпретация, которое позволяет выполнять команды: начать отладку- запускает приложение в режиме отладки;
	присоединиться к процессу- позволяет прикрепить отладчик к выполняющемуся процессу (исполняемому файлу). например, если запущено приложение без отладки, то можете потом прикрепиться к этому выполняющемуся процессу и начать отладку;
	исключения- открывает диалоговое окно Исключения, которое позволяет выбрать способ останова отладчика для каждого исключительного состояния;
	шаг с заходом- запускает приложение в режиме отладки. для большинства проектов выбор команды шаг с заходом означает вызов отладчика на первой выполняемой строке приложения. таким образом, можно войти в приложение с первой строки;
	шаг с обходом- когда вы не находитесь в сеансе отладки, то команда шаг с обходом просто запускает приложение точно так же, как это сделала бы кнопка run;
	точка останова- включает или выключает точку останова на текущей (активной) строке кода текстового редактора. эта опция неактивна, если в интегрированной среде нет активного кодового окна;
	создавать точку останова- активирует диалоговое окно создавать точку останова позволяющее указать имя функции, для которой необходимо создать точку останова;
	удалить все точки останова- удаляет все точки останова из текущего решения;
	очистить все подсказки по данным- деактивирует (без удаления) все точки останова текущего решения;
	параметры и настройки- Прерывать выполнение, когда исключения пересекают границу домена приложения или границу между управляемым и машинным кодом.
2.4 Проведение тестирования программного модуля по определенному сценарию
Оценочное тестирование, которое также называют «тестированием системы в целом» целью которого является тестирование программы на соответствие основным требованиям. Эта стадия тестирования особенно важна для программных продуктов. Включает следующие виды:
	тестирование удобства использования - последовательная проверка соответствия программного продукта и документации на него основным положениям технического задания;
	тестирование на предельных объемах - проверка работоспособности программы на максимально больших объемах данных, например, объемах текстов, таблиц, большом количестве файлов и т. п.;
	тестирование на предельных нагрузках - проверка выполнения программы на возможность обработки большого объема данных, поступивших в течение короткого времени;
	тестирование удобства эксплуатации - анализ психологических факторов, возникающих при работе с программным обеспечением; это тестирование позволяет определить, удобен ли интерфейс, не раздражает ли цветовое или звуковое сопровождение и т. п.;
	тестирование защиты - проверка защиты, например, от несанкционированного доступа к информации;
	тестирование производительности - определение пропускной способности при заданной конфигурации и нагрузке;
	тестирование требований к памяти - определение реальных потребностей в оперативной и внешней памяти;
	тестирование конфигурации оборудования - проверка работоспособности программного обеспечения на разном оборудовании;
	тестирование совместимости - проверка преемственности версий: в тех случаях, если очередная версия системы меняет форматы данных, она должна предусматривать специальные конвекторы, обеспечивающие возможность работы с файлами, созданными предыдущей версией системы;
	тестирование удобства установки - проверка удобства установки;
	тестирование надежности - проверка надежности с использованием математических моделей;
	тестирование восстановления - проверка восстановления программного обеспечения, например, системы, включающей базу данных, после сбоев оборудования и программы;
	тестирование удобства обслуживания - проверка средств обслуживания, включенных в программное обеспечение;
	тестирование документации - тщательная проверка документации, например, если документация содержит примеры, то их все необходимо попробовать;
	тестирование процедуры - проверка ручных процессов, предполагаемых в системе.
Естественно, целью всех этих проверок является поиск несоответствий техническому заданию. Считают, что только после выполнения всех видов тестирования программный продукт может быть представлен пользователю или к реализации. Однако на практике обычно выполняют не все виды оценочного тестирования, так как это очень дорого и трудоемко. Как правило, для каждого типа программного обеспечения выполняют те виды тестирования, которые являются для него наиболее важными. Так базы данных обязательно тестируют на предельных объемах, а системы реального времени - на предельных нагрузках.
2.5 Оформление документации на программное средство
Созданный программный продукт предназначен для выполнения арифметических действий над матрицами.
Чтобы запустить программу нужно запустить приложение.
Для того чтобы создать матрицы, необходимо ввести размерности матрицы и нажать кнопки «Построить». Затем ввести данные в матрицу и выбрать желаемое действие.
Рисунок 5.1 - Работающее приложение
Программа имеет удобный интерфейс и предоставляет возможность с легкостью решать матрицы произвольных размерностей.

Заключение

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

Список литературы

Ананьева, Т.Н. Стандартизация, сертификация и управление каче- ством программного обеспечения: учебное пособие / Т.Н. Ананьева, Н.Г. Но- викова, Г.Н. Исаев. — Москва: ИНФРА-М, 2021. — 232 с. — (Среднее про- фессиональное образование). - ISBN 978-5-16-014887-8. - Текст: электронный. - URL: https://znanium.com/catalog/product/1413308
Гвоздева, В.А. Информатика, автоматизированные информацион- ные технологии и системы: учебник / В.А. Гвоздева. — Москва: ФОРУМ: ИНФРА-М, 2022. — 542 с. — (Среднее профессиональное образование). - ISBN 978-5-8199-0856-3. - Текст: электронный. - URL: https://znanium.com/catalog/product/1858928
Гагарина, Л.Г. Технология разработки программного обеспечения: учебное пособие / Л.Г. Гагарина, Е.В. Кокорева, Б.Д. Сидорова-Виснадул; под ред. Л.Г. Гагариной. — Москва: ФОРУМ: ИНФРА-М, 2022. — 400 с. — (Среднее профессиональное образование). - ISBN 978-5-8199-0812-9. - Текст: электронный. - URL: https://znanium.com/catalog/product/1794453
Голицына, О.Л. Информационные системы и технологии: учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. — Москва: ФОРУМ: ИНФРА-М, 2021. — 400 с. — (Среднее профессиональное образование). - ISBN 978-5-00091-592-9. - Текст: электронный. - URL: https://znanium.com/catalog/product/1138895
Голицына, О.Л. Программное обеспечение: учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - 4-e изд., перераб.и доп. - М.: Форум: НИЦ Инфра-М, 2019. - 448 с.: ил.; - (Профессиональное образование). - ISBN 978-5-91134-711-6.	-	Текст:	электронный.	-	URL: https://znanium.com/catalog/product/989395
Дорогов, В.Г. Основы программирования на языке С: учебное посо- бие / В.Г. Дорогов, Е.Г. Дорогова; под ред. Л.Г. Гагариной. — Москва: ФО- РУМ: ИНФРА-М, 2020. — 224 с. — (Среднее профессиональное образование). - ISBN 978-5-8199-0809-9. - Текст: электронный. - URL: https://znanium.com/catalog/product/1082440
Лисьев, Г.А. Программное обеспечение компьютерных сетей и web- серверов: учебное пособие / Г.А. Лисьев, П.Ю. Романов, Ю.И. Аскерко. — Москва: ИНФРА-М, 2021. — 145 с. — (Среднее профессиональное образова- ние). - ISBN 978-5-16-014514-3. - Текст: электронный. - URL: https://znanium.com/catalog/product/1189343
Немцова, Т.И. Программирование на языке высокого уровня. Про- граммирование на языке C++: учебное пособие / Т.И. Немцова, С.Ю. Голова, А.И. Терентьев; под ред. Л.Г. Гагариной. — Москва: ФОРУМ: ИНФРА-М, 2021. — 512 с. + Доп. материалы [Электронный ресурс]. — (Среднее профес- сиональное образование). - ISBN 978-5-8199-0699-6. - Текст: электронный. - URL: https://znanium.com/catalog/product/1172261
Шишов, О.В. Современные технологии и технические средства ин- форматизации: учебник / О.В. Шишов. — Москва: ИНФРА-М, 2022. — 462 с.
ПРИЛОЖЕНИЕ
Код программы
using System;
using System.Windows.Forms;
namespace Matrix
{
public class MyMatrix
{
private readonly int size = 3;
private int[,] a = new int[size,size];
// Метод установки конкретного элемента матрицы
public void Set(int i, int j, int value)
{
a[i, j] = value;
}
// Сложение матриц
public static MyMatrix operator +(MyMatrix m1, MyMatrix m2)
{
var result = new MyMatrix();
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
result.a[i, j] = m1.a[i, j] + m2.a[i, j];
}
}
return result;
}
// Вычитание матриц
public static MyMatrix operator -(MyMatrix m1, MyMatrix m2)
{
var result = new MyMatrix();
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
result.a[i, j] = m1.a[i, j] - m2.a[i, j];
}
}
return result;
}
// Транспонирование матрицы
public MyMatrix Transpose()
{
var transposed = new MyMatrix();
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
transposed.a[i, j] = a[j, i];
}
}
return transposed;
}
// Умножение матриц
public static MyMatrix operator *(MyMatrix m1, MyMatrix m2)
{
var result = new MyMatrix();
for (int i = 0; i < size; i++)
{
for (int k = 0; k < size; k++)
{
for (int j = 0; j < size; j++)
{
result.a[i, k] += m1.a[i, j] * m2.a[j, k];
}
}
}
return result;
}
// Визуализация одной ячейки матрицы
public string Visual(int row, int col)
{
return a[row, col].ToString();
}
// Полный вывод матрицы в DataGridView
public DataGridView FullVisual(DataGridView grid)
{
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
grid.Rows[i].Cells[j].Value = a[i, j];
}
}
return grid;
}
// Заполнение матрицы из DataGridView
public bool FillFromGrid(DataGridView grid)
{
try
{
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
object cellValue = grid.Rows[i].Cells[j].Value;
if (cellValue is not DBNull && cellValue != null)
a[i, j] = Convert.ToInt32(cellValue);
else
throw new FormatException($"Пустое или неправильное значение в ячейке ({i},{j})");
}
}
return true;
}
catch (FormatException ex)
{
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
}
}
using System;
using System.Windows.Forms;
namespace Matrix
{
public class MyMatrix
{
private readonly int size = 3;
private int[,] a = new int[size,size];
// Метод установки конкретного элемента матрицы
public void Set(int i, int j, int value)
{
a[i, j] = value;
}
// Сложение матриц
public static MyMatrix operator +(MyMatrix m1, MyMatrix m2)
{
var result = new MyMatrix();
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
result.a[i, j] = m1.a[i, j] + m2.a[i, j];
}
}
return result;
}
// Вычитание матриц
public static MyMatrix operator -(MyMatrix m1, MyMatrix m2)
{
var result = new MyMatrix();
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
result.a[i, j] = m1.a[i, j] - m2.a[i, j];
}
}
return result;
}
// Транспонирование матрицы
public MyMatrix Transpose()
{
var transposed = new MyMatrix();
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
transposed.a[i, j] = a[j, i];
}
}
return transposed;
}
// Умножение матриц
public static MyMatrix operator *(MyMatrix m1, MyMatrix m2)
{
var result = new MyMatrix();
for (int i = 0; i < size; i++)
{
for (int k = 0; k < size; k++)
{
for (int j = 0; j < size; j++)
{
result.a[i, k] += m1.a[i, j] * m2.a[j, k];
}
}
}
return result;
}
// Визуализация одной ячейки матрицы
public string Visual(int row, int col)
{
return a[row, col].ToString();
}
// Полный вывод матрицы в DataGridView
public DataGridView FullVisual(DataGridView grid)
{
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
grid.Rows[i].Cells[j].Value = a[i, j];
}
}
return grid;
}
// Заполнение матрицы из DataGridView
public bool FillFromGrid(DataGridView grid)
{
try
{
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
object cellValue = grid.Rows[i].Cells[j].Value;
if (cellValue is not DBNull && cellValue != null)
a[i, j] = Convert.ToInt32(cellValue);
else
throw new FormatException($"Пустое или неправильное значение в ячейке ({i},{j})");
}
}
return true;
}
catch (FormatException ex)
{
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
}
}
using System;
using System.Windows.Forms;
namespace Matrix
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Создание трёх пустых строк в каждом DataGridView
for (int i = 0; i < 3; i++)
{
dataGridView1.Rows.Add();
dataGridView2.Rows.Add();
dataGridView3.Rows.Add();
}
}
// Обработчик кнопки сложения матриц
private void button1_Click(object sender, EventArgs e)
{
MyMatrix matrix1 = new MyMatrix();
MyMatrix matrix2 = new MyMatrix();
if (!matrix1.FillFromGrid(dataGridView1))
return;
if (!matrix2.FillFromGrid(dataGridView2))
return;
MyMatrix result = matrix1 + matrix2;
result.FullVisual(dataGridView3);
}
// Обработчик кнопки вычитания матриц
private void button2_Click(object sender, EventArgs e)
{
MyMatrix matrix1 = new MyMatrix();
MyMatrix matrix2 = new MyMatrix();
if (!matrix1.FillFromGrid(dataGridView1))
return;
if (!matrix2.FillFromGrid(dataGridView2))
return;
MyMatrix result = matrix1 - matrix2;
result.FullVisual(dataGridView3);
}
// Обработчик кнопки транспонирования матрицы
private void button3_Click(object sender, EventArgs e)
{
MyMatrix matrix1 = new MyMatrix();
if (!matrix1.FillFromGrid(dataGridView1))
return;
MyMatrix result = matrix1.Transpose();
result.FullVisual(dataGridView3);
}
// Обработчик кнопки умножения матриц
private void button4_Click(object sender, EventArgs e)
{
MyMatrix matrix1 = new MyMatrix();
MyMatrix matrix2 = new MyMatrix();
if (!matrix1.FillFromGrid(dataGridView1))
return;
if (!matrix2.FillFromGrid(dataGridView2))
return;
MyMatrix result = matrix1 * matrix2;
result.FullVisual(dataGridView3);
}
}
}

Подробное описание

📘 О чем эта работа

Отчет посвящен разработке и практической реализации программного модуля «Калькулятор матриц» на языке C# в среде Microsoft Visual Studio Ultimate 2019. Объектом является программный модуль для операций над матрицами; предметом — алгоритмы обработки матриц, интерфейс ввода/вывода и процедуры отладки и тестирования модуля.

📚 Что внутри

В работе подробно представлены следующие элементы:

  • Анализ поставленной задачи и требования по ПМ.01 (перечень видов работ: разработка алгоритма, кодирование, отладка, тестирование, оформление документации; общий объём практики 216 часов).
  • Блок‑схемы процессов ввода, проверки и записи данных (создавались в Microsoft Office Visio 2019) — чтение из форм, валидация и заполнение массивов.
  • Исходный код модуля: класс MyMatrix с фиксированным размером (size = 3 в приложенном примере), реализацией методов Set, Transpose, перегрузкой операторов +, -, *, методами визуализации Visual, FullVisual и заполнения из DataGridView FillFromGrid.
  • Особенности реализации: использование элементов управления DataGridView для ввода/вывода, обработка ошибок через MessageBox при неверном формате, перевод строковых значений в int.
  • Описание отладки в Visual Studio: работа с точками останова, окнами «Вывод», «Исключения», шаги отладки, присоединение к процессу.
  • Полный перечень видов тестирования, применимых к модулю: функциональное, тестирование на предельных объёмах и нагрузках, тестирование удобства использования, защиты, совместимости и восстановления.
  • Инструкция по запуску: ввод размерностей, кнопка 'Построить', ввод значений в таблицы, выбор операции (сложение, вычитание, умножение, транспонирование) и вывод результата в целевой DataGridView.

📊 Для кого подходит

Отчет пригоден студентам направления 'Информационные системы и программирование' (3 курс, 6 семестр) для выполнения производственной практики по ПМ.01, а также для обучающихся, готовящих модульный код или ВКР с примерами реализации на C#.

✨ Особенности

Документ содержит не только текстовые описания, но и реальные исходники: класс MyMatrix с перегрузкой операторов, обработкой ошибок и методами визуализации; блок‑схемы ввода и алгоритмов; рекомендации по отладке в Visual Studio; расширенный список видов тестирования и практические указания по оформлению сопроводительной документации.

❓ Частые вопросы

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

Можно адаптировать?
Да. Код и блок‑схемы легко масштабируются под другие размерности матриц и дополняются проверками/оптимизациями; интерфейс на DataGridView удобно заменить на консольный или WPF при необходимости.