Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВВЕДЕНИЕ2.docx
Скачиваний:
11
Добавлен:
17.02.2016
Размер:
42.19 Кб
Скачать

Приложение

program Project1;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas' {Form2};

{$R *.RES}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.Run;

end.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Grids, OleServer, Access2000;

type

TForm1 = class(TForm)

Edit1: TEdit;

Button1: TButton;

Label1: TLabel;

Button2: TButton;

GroupBox1: TGroupBox;

StringGrid1: TStringGrid;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Edit1Change(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

i,j,x: integer;

implementation

uses Unit2;

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

x:=strtoint(edit1.Text);

stringgrid1.ColCount:=x+1;

stringgrid1.Rowcount:=x+1;

stringgrid1.Refresh;

for i:=1 to x do

begin

stringgrid1.cells[0,i]:='S'+inttostr(i);

stringgrid1.cells[i,0]:='S'+inttostr(i);

stringgrid1.cells[i,i]:='*****';

end;

for i:=1 to x do

for j:=1 to x do

if i<>j

then stringgrid1.cells[i,j]:=inttostr(0);

end;

procedure TForm1.Button2Click(Sender: TObject);

var

formul:string;

begin

form1.visible:=false;

form2.visible:=true;

for i:=1 to x do

begin

formul:='dP'+inttostr(i)+'/dT=';

for j:=1 to x do

begin

if stringgrid1.cells[j,i]='1'

then formul:=formul+'-'+'λ'+inttostr(i)+inttostr(j)+'P'+inttostr(i);

if stringgrid1.cells[i,j]='1'

then formul:=formul+'+'+'λ'+inttostr(j)+inttostr(i)+'P'+inttostr(j);

end;

if formul<>'dP'+inttostr(i)+'/dT='

then form2.ListBox1.Items.Append(formul);

end;

end;

procedure TForm1.Edit1Change(Sender: TObject);

var

q:string;

begin

x:=0;

q:=edit1.Text;

for i:=1 to 100 do

if q=inttostr(i)

then

begin

x:=1;

break;

end;

if x<>1

then form1.Edit1.Text:='0';

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, StdCtrls;

type

TForm2 = class(TForm)

ListBox1: TListBox;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1;

{$R *.DFM}

procedure TForm2.Button1Click(Sender: TObject);

begin

form1.close;

form2.close;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

form2.ListBox1.Items.Clear;

form2.visible:=false;

form1.visible:=true;

end;

end.

Руководство пользователя

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

Минимальные системные требования для работы программы:

- OS MS-DOS или Windows

- 5 МБ на жестком диске

- 8 МБ оперативной памяти

Для запуска программы Kramer необходимо запустить находящуюся на дискете программу Kramer.exe.

В ответ на запрос программы: «"Vvedite koefisienti pri neizvestnih x1,x2,x3 v 1-om,2-om,3-em yravneniax"» необходимо ввести матрицу коэффициентов при неизвестных. Числа вводятся через пробел или Enter. Для ввода десятичных чисел целая часть отделяется от дробной точкой. После ввода всех девяти чисел (в случае ввода их через пробел) для дальнейшей работы программы необходимо нажать клавишу Enter. В ответ на запрос программы: "Vvedite cvobodnii chleni v 1-om,2-om,3-em yravneniax"» необходимо ввести матрицу-столбец свободных членов. После ввода всех 3 чисел (в случае ввода их через пробел) для дальнейшей работы программы необходимо нажать клавишу Enter. Полученное решение системы уравнений методом Крамера включает в себя систему линейных уравнений, расширенную матрицу, результаты нахождения определителя матриц и конечные решения.

Заключение

В представленной работе рассматривается метод Крамера решения квадратных систем уравнений со многими неизвестными. В основе этого метода лежат элементарные преобразования, осуществляемые над коэффициентами системы, записанными в специальные таблицы – определители и матрицы. В работе, нами был программно реализован метод Крамера для решения системы линейных алгебраических уравнений. Мы использовали необходимое условие существования решения, т.е. не равенство нулю главного определителя системы.Отличительная черта этого метода заключается в неоднократном вычислении определителя матрицы. С вычислительной точки зрения это трудоемкая операция с ростом количества элементов. В работе была рассмотрена система 3-го порядка, а определители вычислялись непосредственно.

Однако это не снижает ценность работы, так как переход к решению СЛАУ с неизвестным количеством уравнений осуществляется изменением метода, вычисляющий определитель матрицы.