Высокоуровневые методы программирования

Автор работы: Пользователь скрыл имя, 03 Декабря 2011 в 13:26, курсовая работа

Описание работы

Описать класс, реализующий тип данных «квадратная вещественная матрица третьего порядка» и работу с ним. Класс должен реализовывать вычисление определителя матрицы, обратной матрицы, деление матриц и вывод матрицы на форму.
Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.

Содержание работы

Задание 3
Описание классов 4
Текст программы 8
Вид приложения 15

Файлы: 1 файл

Марина Курсовая работа высокоуровнеые методы.docx

— 784.53 Кб (Скачать файл)

    Министерство  образования и науки РФ

    Федеральное агентство по образованию

    Государственное образовательное учреждение

    Высшего профессионального образования

    «Омский государственный технический университет»

    Кафедра «Математические методы и информационные технологии в экономике» 
 
 
 

    Курсовой  проект

    по  дисциплине

    «Высокоуровневые  методы программирования» 
 
 

                                                   Выполнила ст.гр. ПИ-219

                    _______ М.Ю. Иванченко

                    «____»__________2011 г.

                    Приняла  к.ф.м.н. доц.

                               М.В. Девятерикова

                    «____»__________2011 г. 
                     

    Омск 2011

Оглавление

Задание 3

Описание  классов 4

Текст программы 8

Вид приложения 15 

 

Задание

     Описать класс, реализующий тип данных «квадратная  вещественная матрица третьего порядка» и работу с ним. Класс должен реализовывать  вычисление  определителя матрицы, обратной матрицы, деление матриц и вывод матрицы на форму. 

     Написать  программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить  проверку всех методов класса.

 

Описание  классов

Проект включает в себя четыре класса:

    1. App.java;
    2. Window.java;
    3. EnterMatrix.java;
    4. Matrix.java;

Класс App.java 

     Cодержит точку входа в программу. В качестве единственного параметра метод main() принимает массив строк args. В качестве параметра args методу main() передаются так называемые аргументы командной строки. Метод main() следит за управлением хода программы, поэтому App.java является управляющим классом.  

Класс  Window.java.

     Класс является классом, который описывает графический интерфейс и обрабатывает пользовательское взаимодействие с GUI. Этот класс является наследником  класса JFrame(). Конструктор JFrame() без параметров создает пустое окно. 

В классе описаны следующие  компоненты:

  • Два экземпляр класса EnterMatrix для ввода матриц;
  • панели  для размещения кнопок на форме JPanel;
  • кнопки JButton;

     Компоненты  размещены с помощью вложения панелей и менеджера компоновки BorderLayout. Описываются компоненты окна, слушатели кнопок в оконном приложении. Обрабатывается действия над матрицами.  

Класс EnterMatrix содержит следующие поля:

  • TextField [][] tfArray (поля для ввода коэффициентов матрицы);

Класс включает в себя метод getArray():

  • модификатор−public;
  • тип возвращаемого значения−double[][] (двойной массив);
  • параметров нет;

Метод getArray () возвращает массив вещественных коэффициентов, которые вводятся с клавиатуры пользователем в поля для ввода tfArray.

Также в классе описан конструктор EnterArray. Он создает новые поля для ввода и размещает их на панели в виде матрицы. 

Класс Matrix

Основной  класс описывающий вещественную матрицу третьего порядка. Поля:

  • double[][] data – двумерный массив данных

Метод конструктор получает в качестве параметра двумерный массив данных.

Метод det

    • тип возвращаемого значения – double;
    • параметры отсутствуют;

Возвращает  определитель матрицы. 

Метод show

    • тип возвращаемого значения – void;
    • параметры отсутствуют;

Вызывает  диалоговое окно, на котором представлена матрица

Метод transposition

    • тип возвращаемого значения – Matrix;
    • параметры отсутствуют;

     Транспонирует матрицу, и возвращает новый объект Matrix соответствующий транспонированной матрице. 

Метод multiply 

    • статичный метод – модификатор static
    • тип возвращаемого значения – Matrix;
    • параметры Matrix a, Matrix b;

     Статический метод перемножения двух матриц a и b. Возвращает новый объект Matrix соответствующий перемноженной матрице. 

Метод Minor 

    • тип возвращаемого  значения – Matrix;
    • параметры int i, int j;

     Метод возвращает минор элемента i,j (новый экземпляр класса Matrix). 

Метод reserve 

    • тип возвращаемого  значения – Matrix;
    • параметров нет;

     Метод возвращает обратную матрицу новый экземпляр класса Matrix. 

Метод division 

    • статичный метод – модификатор static
    • тип возвращаемого значения – Matrix;
    • параметры Matrix a, Matrix b;

     Статический метод деления двух матриц 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(true);

 

            JPanel panelBtn = new JPanel();

            panelMatrix.add(em,BorderLayout.WEST);

 
 

            JButton det = new JButton("Определитель");

            JButton reserve = new JButton("Обратная матрица");

            JButton mult = new JButton("Умножить");

            JButton div = new JButton("Поделить");

            panelBtn.add(add);

            panelBtn.add(det);

            panelBtn.add(reserve);

            panelBtn.add(mult);

            panelBtn.add(div);

 

            getContentPane().add(panelBtn,BorderLayout.NORTH);

            getContentPane().add(panelMatrix);

            pack();

 

            add.addActionListener(new ActionListener(){

                  public void actionPerformed(ActionEvent arg0) {

                        if (add.getLabel()=="Добавить матрицу"){

                              add.setLabel("Убрать матрицу");

                              panelMatrix.add(em2,BorderLayout.EAST);

                        } else {

                              add.setLabel("Добавить матрицу");

                              panelMatrix.remove(em2);

                        }

                        pack();

                  }});

 

            det.addActionListener(new ActionListener(){

                  public void actionPerformed(ActionEvent e) {

Информация о работе Высокоуровневые методы программирования