Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа (1,08 МБ).docx
Скачиваний:
2
Добавлен:
17.09.2019
Размер:
1.14 Mб
Скачать
    1. Класс копирования результата в матрицу (Copir.Cs)

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Матрица_1_0

{

class Copir

{

public void C(int ind, Cache ch)

{

if (ind == 1)

{

ch.c = ch.g;

ch.d = ch.h;

ch.matr1 = ch.res;

}

if (ind == 2)

{

ch.e = ch.g;

ch.f = ch.h;

ch.matr2 = ch.res;

}

}

}

}

    1. Класс хранения матричных данных (Cache.Cs)

using System;

using System.Collections.Generic;

namespace Матрица_1_0

{

class Cache

{

public int c, d, e, f, g, h;

public double[,] matr1, matr2, res;

public string fam, fam2, name, name2;

public void Zap(int a, int b, int ind, double[,] matr)

{

if (ind == 1)

{

c = a;

d = b;

matr1 = matr;

}

if (ind == 2)

{

e = a;

f = b;

matr2 = matr;

}

if (ind == 3)

{

g = a;

h = b;

res = matr;

}

}

}

}

  1. Описание кода программы

    1. Класс обработчиков главного окна (MainWindow.Xaml.Cs)

Данный класс содержит следующие блоки кода:

  1. Cache ch = new Cache();

Объявление нового элемента класса Cache который используется во всех классах для доступа к сохраненным из файла матрицам.

  1. public void Show(int ind) { … }

Эта функция используется для вывода на экран в соответствующее место соответствующую матрицу: она определяется параметром ind, затем перечисляется в цикле for и записывается в соответствующий Textbloc.

  1. private void Button_Click(object sender, RoutedEventArgs e) { … }

Данный обработчик записывает в переменные введенные логин и пароль, вызывает класс Parol.cs и проверяет на возможность входа в программу. Если вход выполнен введенные логин и пароль записываются в переменные для использования их при сохранении.

  1. string login = Логин.Text.ToString(); - получение введенного логина.

  2. string parol =Пароль.Password.ToString(); - получение введенного пароля.

  3. Авторизация.Visibility = Visibility.Collapsed; - закрытие формы авторизации.

  1. private void New_Click(object sender, RoutedEventArgs e) { … }

Создание нового экземпляра программы без формы авторизации.

  1. private void AT_Click(ob ject sender, RoutedEventArgs e) { … }

Обработчик создает новый элемент класса AT.cs и вызывает функцию транспонирования матрицы, передавая номер матрицы элемент Cache ch для доступа к матрице, и затем вызывает вывод результата на экран. То же самое делает обработчик private void AT_2_Click(object sender, RoutedEventArgs e), а обработчик private void T_Click(object sender, RoutedEventArgs e) проверяет радио клавиши и вызывает один из этих обработчиков или выдает сообщение об ошибке.

  1. private void Cl_Click(object sender, RoutedEventArgs e) { … }

Обработчик закрывает приложение.

  1. private void Op_M1_Click(object sender, RoutedEventArgs e)

Обработчик создает новый объект класса чтения (Re.cs) и вызывает вывод матрицы на экран. То же самое для второй матрицы делает обработчик private void Op_M2_Click_1(object sender, RoutedEventArgs e) { … }.

  1. private void a_k_GotFocus(object sender, RoutedEventArgs e) и private void b_GotFocus(object sender, RoutedEventArgs e)

Обработчики перехватывают получение фокуса текстовыми полями и очищают текст перед вводом (b_b.Text = null;).

  1. private void kop1_Click(object sender, RoutedEventArgs e)

Обработчик создает новый объект класса Copir.cs и вызывает функцию копирования результата в первую матрицу. То же самое делает для второй матрицы обработчик private void kop2_Click(object sender, RoutedEventArgs e). А обработчик private void Copy_Click(object sender, RoutedEventArgs e) проверяет радио клавиши и вызывает один из этих обработчиков или выдает сообщение об ошибке.

  1. private void Ak1_Click(object sender, RoutedEventArgs e)

Обработчик создает новый объект класса Axk.cs, получает значение числа k из Textbox (k = Convert.ToDouble(a_k.Text.ToString());) и вызывает функцию умножения. После чего вызывает вывод результата на экран. То же самое делает для второй матрицы обработчик private void Ak2_Click(object sender, RoutedEventArgs e). А обработчик private void K_Click(object sender, RoutedEventArgs e) проверяет радио клавиши и вызывает один из этих обработчиков или выдает сообщение об ошибке.

  1. private void obr1_Click(object sender, RoutedEventArgs e)

Обработчик выполняет необходимые операции для получения обратной матрицы:

  1. получает и задает необходимые значения;

  2. создает новый объект класса Opr.cs и получает определитель матрицы вызвав соответствующую функцию;

  3. если определитель не равен нулю, то вычисляется матрица согласная матрице исходной, затем она транспонируется и умножается на единицу, деленную на определитель матрицы;

  4. вызывается вывод на экран результата.

То же самое для второй матрицы делает обраротчик private void obr2_Click(object sender, RoutedEventArgs e). А обработчик private void Obr_Click(object sender, RoutedEventArgs e) проверяет радио клавиши и вызывает один из этих обработчиков или выдает сообщение об ошибке.

  1. private void Zakr_Click(object sender, RoutedEventArgs e)

Обработчик закрывает работу с данными матрицами без закрытия программы путем очистки всех использующихся полей и очистки данных в классе Cache.cs кроме имени и фамилии вошедшего пользователя.

  1. private void S_Click(object sender, RoutedEventArgs e)

Обработчик создает новый объект класса WR.cs и вызывает соответствующий метод для записи полученных результатов в файл.

  1. private void Sum_Click(object sender, RoutedEventArgs e)

Обработчик создает новый объект класса Plus.cs и вызывается соответствующая функция позволяющая сложить две матрицы, после чего вызывается вывод на экран результатов. На этот обработчик ссылается обработчик функции сложения private void sl_Click(object sender, RoutedEventArgs e) доступный из меню «Функции».

  1. private void Razn_Click(object sender, RoutedEventArgs e)

Обработчик создает новый объект класса вычитания матриц (private void Razn_Click(object sender, RoutedEventArgs e)), вызывает соответствующую функцию и вызывает вывод результата на экран. На этот обработчик ссылается обработчик того же действия функции доступной из меню «Функции» (private void Minus_Click(object sender, RoutedEventArgs e)).

  1. private void Del_Click(object sender, RoutedEventArgs e)

Обработчик делит первую матрицу на вторую. Для этого:

  1. вызывает функцию получения обратной матрицы от второй;

  2. записывает вторую матрицу во временные переменные;

  3. вызывает обработчик умножения матриц;

  4. возвращает вторую матрицу на место;

  5. вызывает вывод результата на экран.

Обработчик функции деления из меню «Функции» также ссылается на этот обработчик (private void razd_Click(object sender, RoutedEventArgs e)).

  1. private void Umn_Click(object sender, RoutedEventArgs e)

Обработчик создает новый объект класса призведения матриц (Umn.cs) и вызывает соответствующую функцию умножения, Затем вызывает вывод результата на экран. Обработчик функции умножения из меню «Функции» также ссылается на этот обработчик (private void umn_Click_1(object sender, RoutedEventArgs e)).

  1. private void О_программе_Click(object sender, RoutedEventArgs e)

Обработчик открывает дополнительно окно со сведениями о программе.

  1. private void Opred1_Click(object sender, RoutedEventArgs e) и private void Opred2_Click(object sender, RoutedEventArgs e)

Обработчики создают новые объекты класса определителя (Opr.cs) и вызывают соответствующую функцию подсчета определителя, а затем вызывают вывод результата на экран. А обработчик private void Delta_Click(object sender, RoutedEventArgs e) проверяет радио клавиши и вызывает один из этих обработчиков или выдает сообщение об ошибке.

  1. private void Min1_Click(object sender, RoutedEventArgs e) и private void Min2_Click(object sender, RoutedEventArgs e)

Обработчик создает новый объект класса Mab.cs, получает значения чисел a и b и вызывая соответствующую функцию получает значение выбранного минора и записывает в поле результата. А обработчик private void M_Click(object sender, RoutedEventArgs e) проверяет радио клавиши и вызывает один из этих обработчиков или выдает сообщение об ошибке.

  1. private void Пароль_KeyDown(object sender, KeyEventArgs e)

Обработчик перехватывает нажатие клавиши Enter в поле Пароль и вызывает обработчик клавиши вход (Button_Click(sender, e);).

  1. private void Логин_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)

Обработчик перехватывает нажатие клавиши Enter в поле Логин и передает фокус полю Пароль.

  1. private void Логин_Initialized(object sender, EventArgs e)

Обработчик передает фокус полю логин во время запуска программы.

  1. private void Kan1_Click(object sender, RoutedEventArgs e) и private void Kan2_Click(object sender, RoutedEventArgs e)

Обработчики создают новые объекты класса Kan.cs, вызывают соответствующую функцию, а затем вызывают вывод на экран результата. А обработчик private void KV_Click(object sender, RoutedEventArgs e) проверяет радио клавиши и вызывает один из этих обработчиков или выдает сообщение об ошибке.

  1. private void R1_Click(object sender, RoutedEventArgs e) и private void R2_Click(object sender, RoutedEventArgs e)

Обработчики создают новые объекты класса Kan.cs и вызывают соответствующую функцию ранга матрицы, а полученный результат записывают в соответствующие текстовые блоки. А обработчик private void R_Click(object sender, RoutedEventArgs e) проверяет радио клавиши и вызывает один из этих обработчиков или выдает сообщение об ошибке.

  1. private void R_Click(object sender, RoutedEбоventArgs e)

Обработчик при нажатии в меню «Справка» клавиши Справка запускает chm справку по программе.