Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗАДАНИЕ 3 Матрицы.doc
Скачиваний:
7
Добавлен:
30.04.2015
Размер:
235.01 Кб
Скачать

Задание 3

Матрицы

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

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

Варианты заданийвычисления матричного выражения

и определителя матрицы

Вариант

Матричное выражение

Определитель матрицы

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Матрицы :

; ;

.

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

1. Постановка задачи для конкретного варианта.

2. Текст клиентского кода программы.

3. Графический дизайн Windows-формы после вычисления матрицы.

4. Графический дизайн Windows-формы после вычисления определителя указанной в варианте матрицы.

5. Результаты вычислений в математическом пакете Mathcad.

Создание конструктора

1. После команды “Создать проект”, выбора приложения WindowsForms, размещения проекта в личной папке студента и задания имени проекта появится окно (форма)Form1 (рис. 1).

Рис. 1.

2. В меню “Вид” открыть “Панель элементов” и “Окно свойств” (рис. 2).

3. Поместить на форму элемент tabControl1 и увеличить его до размеров формы. Активировать вкладкуtabPage1 элементаtabControl1. В окне свойств выбрать свойствоTabPages(Коллекция). В открывшемся редакторе коллекцииTabPageс помощью окна свойствtabPage1 в строкеTextзадать вкладкеtabPage1 имя “Вычисление матрицыD”. Таким же образом задать имя “Определитель” вкладкеtabPage2 элементаtabControl1.

4. На поле tabPage1 поместить элементы button1, button2, button3, button4, dataGridViev1. Убрать опцию “Включить добавление” в элементеdataGridViev1. Ниже формы поместить элементopenFileDialog. С помощью свойстваTextокна свойств задать формеForm1 имя “Матрицы”. Дать имена кнопкам:button1 – МатрицаA,button2 – МатрицаB,button3 – Матрица С,button4 – МатрицаD(рис. 2).

Рис. 2.

5. Активировать вкладку tabPage2 (Определитель) элементаtabControl1. Поместить на полеtabPage2 элементыbutton5,button6,button7,dataGridViev2,textBox1. Убрать опцию “Включить добавление” в элементеdataGridViev2. Дать имена кнопкам:button5 – Матрица,button6 – Вычисление,button7 – Выход (рис. 3).

Рис. 3.

Создание клиентского кода

1. Щелкнуть правой кнопкой на конструкторе, выбрать команду “Перейти к коду”. Дополнить раздел usingстрокойusing System.IO; для работы с внешними файлами.

2. Вставить в код комментарии и описания:

//String[] St;

//Класс List<string> - коллекция строк - лист из строк имеет методы

//накопления и преобразования неопределенного количества элементов

List<string> list_st = new List<string>();

string[] St;

Double[,] MatrD, MatrA, MatrB, MatrC, Matr1, Matr2;

int i = 0, j = 0, n = 0;

3. Активировать вкладку “Вычисление матрицы” конструктора.

4. Щелкнуть дважды на кнопке “Матрица A” конструктора, на место курсора вставить из примера ввод матрицы A.

5. Щелкнуть дважды на кнопке “Матрица B” конструктора, на место курсора вставить из примера ввод матрицы B.

6. Щелкнуть дважды на кнопке “Матрица C” конструктора, на место курсора вставить из примера ввод матрицы C.

7. Щелкнуть дважды на кнопке “Матрица D” конструктора, на место курсора вставить в код блок вычисления матрицы D согласно заданному варианту.

8. Активировать вкладку “Определитель” конструктора.

9. Щелкнуть дважды на кнопке “Матрица” конструктора, на место курсора вставить в код блок:

// Заполнение второй таблицы

if (dataGridView1.Columns.Count < 1) return;

dataGridView2.Columns.Clear();

//Добавление первой колонки и первой строки

DataGridViewTextBoxColumn titleColumn = new DataGridViewTextBoxColumn();

titleColumn.HeaderText = "Titlt" + 1.ToString();

titleColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;

dataGridView2.Columns.Add(titleColumn);

dataGridView2.Rows.Add();

for (int i = 0; i < n - 1; i++)

{

// Добавление колонки

DataGridViewTextBoxColumn titleColumn1 = new DataGridViewTextBoxColumn();

titleColumn1.HeaderText = "Titlt" + (i + 2).ToString();

titleColumn1.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;

dataGridView2.Columns.Add(titleColumn1);

// добавление строки

dataGridView2.Rows.Add();

}

// Создание матрицы из второй таблицы

Matr2 = new Double[n, n];

for (i = 0; i < n; i++)

{

for (j = 0; j < n; j++)

{

dataGridView2.Rows[i].Cells[j].Value = dataGridView1.Rows[i].Cells[j].Value;

Matr2[i, j] = Convert.ToDouble(dataGridView2.Rows[i].Cells[j].Value);

}

}

10. Щелкнуть дважды на кнопке “Вычисление” конструктора, на место курсора вставить вычисление определителя.

11. Щелкнуть дважды на кнопке “Выход”, на место курсора вставить команду Close();.

12. Вставить из примера остальную часть кода.