Автор работы: Пользователь скрыл имя, 03 Декабря 2011 в 13:26, курсовая работа
Описать класс, реализующий тип данных «квадратная вещественная матрица третьего порядка» и работу с ним. Класс должен реализовывать вычисление определителя матрицы, обратной матрицы, деление матриц и вывод матрицы на форму.
Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.
Задание 3
Описание классов 4
Текст программы 8
Вид приложения 15
Министерство образования и науки РФ
Федеральное агентство по образованию
Государственное образовательное учреждение
Высшего профессионального образования
«Омский
государственный технический
Кафедра
«Математические методы и информационные
технологии в экономике»
Курсовой проект
по дисциплине
«Высокоуровневые
методы программирования»
_______ М.Ю. Иванченко
«____»__________2011 г.
Приняла к.ф.м.н. доц.
М.В. Девятерикова
«____»__________2011
г.
Омск 2011
Оглавление
Задание 3
Описание классов 4
Текст программы 8
Вид
приложения 15
Описать
класс, реализующий тип данных «квадратная
вещественная матрица третьего порядка»
и работу с ним. Класс должен реализовывать
вычисление определителя матрицы,
обратной матрицы, деление матриц и вывод
матрицы на форму.
Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.
Проект включает в себя четыре класса:
Класс App.java
Cодержит
точку входа в программу. В качестве единственного
параметра метод main() принимает массив
строк args. В качестве параметра args методу
main() передаются так называемые аргументы
командной строки. Метод main() следит за
управлением хода программы, поэтому App.java
является управляющим классом.
Класс Window.java.
Класс является классом, который описывает графический интерфейс и обрабатывает пользовательское взаимодействие с GUI. Этот класс является наследником класса JFrame(). Конструктор JFrame() без параметров создает пустое окно.
В классе описаны следующие компоненты:
Компоненты
размещены с помощью вложения панелей
и менеджера компоновки BorderLayout. Описываются
компоненты окна, слушатели кнопок в оконном
приложении. Обрабатывается действия
над матрицами.
Класс EnterMatrix содержит следующие поля:
Класс включает в себя метод getArray():
Метод getArray () возвращает массив вещественных коэффициентов, которые вводятся с клавиатуры пользователем в поля для ввода tfArray.
Также
в классе описан конструктор EnterArray.
Он создает новые поля для ввода и размещает
их на панели в виде матрицы.
Класс Matrix
Основной класс описывающий вещественную матрицу третьего порядка. Поля:
Метод конструктор получает в качестве параметра двумерный массив данных.
Метод det
Возвращает
определитель матрицы.
Метод show
Вызывает диалоговое окно, на котором представлена матрица
Метод transposition
Транспонирует
матрицу, и возвращает новый объект
Matrix соответствующий транспонированной
матрице.
Метод multiply
Статический
метод перемножения двух матриц a и
b. Возвращает новый объект Matrix соответствующий
перемноженной матрице.
Метод Minor
Метод
возвращает минор элемента i,j (новый экземпляр
класса Matrix).
Метод reserve
Метод
возвращает обратную матрицу новый экземпляр
класса Matrix.
Метод division
Статический метод деления двух матриц a и b. Возвращает новый объект Matrix соответствующий разделенным матрицам (обратная матрица a умноженная на матрицу b).
Листинг 1. Класс App
public class App {
public static void main(String[] args) {
new Window();
}
}
Листинг 2. Класс Window
import java.awt.BorderLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class Window extends JFrame{
EnterMatrix em = new EnterMatrix();
EnterMatrix em2 = new EnterMatrix();
JPanel panelMatrix = new JPanel();
JButton add = new JButton("Добавить матрицу");
Window(){
super("Работа с матрицей 3его порядка");
this.setVisible(tr
JPanel panelBtn = new JPanel();
panelMatrix.add(em
JButton det = new JButton("Определитель");
JButton reserve = new JButton("Обратная матрица");
JButton mult = new JButton("Умножить");
JButton div = new JButton("Поделить");
panelBtn.add(add);
panelBtn.add(det);
panelBtn.add(
panelBtn.add(mult)
panelBtn.add(div);
getContentPane().
getContentPane().
pack();
add.
public void actionPerformed(ActionEvent arg0) {
if
(add.()=="Добавить
матрицу"){getLabel
("Убрать
матрицу");setLabel
} else {
("Добавить
матрицу");setLabel
}
pack()
}});
det.
public void actionPerformed(ActionEvent e) {