Лабораторные работы 1 Вариант (Text_programmy1)

Посмотреть архив целиком

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

unit Unit1;


interface


uses

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

Dialogs,Unit2, Grids, StdCtrls;


type

TForm1 = class(TForm)

Button2: TButton;

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

Button1: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

edit1: TEdit;

edit2: TEdit;

edit3: TEdit;

edit4: TEdit;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form1: TForm1;


implementation


{$R *.dfm}

Var M:matr;

x1,x2,x3,x4:integer;

procedure TForm1.Button1Click(Sender: TObject);

begin

StringGrid1.Enabled:=true;

StringGrid2.Enabled:=true;

Button1.Enabled:=true;

Podgot(StringGrid1);

Podgot(StringGrid2);

end;




procedure TForm1.Button2Click(Sender: TObject);

begin

sozd(M,Stringgrid1);

vich(M,M);

vich1(M,x1,x2,x3,x4);

otvet(M,Stringgrid2);

Edit1.Text:=Floattostr(x1);

Edit2.Text:=Floattostr(x2);

Edit3.Text:=Floattostr(x3);

Edit4.Text:=Floattostr(x4);

end;


end.


unit Unit2;


interface

Uses SysUtils, Grids;

type

matr=array[1..4,1..5]of real;


Procedure sozd(var M:matr; stgr:TStringGrid);

Procedure otvet(M:matr; stgr:TStringGrid);

Procedure vich(M:matr;var M1:matr);

Procedure vich1(M:matr; var x1,x2,x3,x4:integer);

Procedure zamena(M:matr; n:integer; var M1:matr);

Procedure Podgot(Stgr:TStringGrid);


implementation

Procedure sozd;

Var i,j:integer;

begin

For i:=1 to 4 do

For j:=1 to 5 do

M[i,j]:=StrToFloat(stgr.Cells[j,i]);

end;


Procedure otvet;

Var i,j:integer;

begin

For i:=1 to 4 do

For j:=1 to 5 do

Stgr.Cells[j,i]:=FloatToStr(M[i,j]);

end;


Procedure vich;

Var i,j,n:integer;

c:real;

begin

For n:=1 to 4 do begin

zamena(M,n,M);

c:=M[n,n];

For j:=n to 5 do begin M[n,j]:=M[n,j]/c;end;

For i:=n+1 to 4 do begin

c:=M[i,n];

For j:=n to 5 do

M[i,j]:=M[i,j]-(M[n,j]*c);

end;

end;

M1:=M;

end;


Procedure zamena;

Var i,j,k:integer;

max,buf:real;

begin

max:=M[n,n]; k:=n;

For i:=n+1 to 4 do

If abs(max)

max:=M[i,n];

k:=i;

end;

If k<>n then

For j:=n to 5 do begin

buf:=M[n,j];

M[n,j]:=M[k,j];

M[k,j]:=buf;

end;

M1:=M;

end;


Procedure Podgot;

Var i,j:integer;

begin

For i:=0 to 4 do

For j:=0 to 4 do Stgr.Cells[j,i]:='';

For i:=1 to 4 do Stgr.Cells[0,i]:=inttostr(i);

For j:=1 to 4 do Stgr.Cells[j,0]:='x'+inttostr(j);

Stgr.Cells[5,0]:='b';

end;


Procedure vich1;

begin

x4:=round(M[4,5]);

x3:=round(M[3,5]-(M[3,4]*x4));

x2:=round(M[2,5]-(M[2,4]*x4)-(M[2,3]*x3));

x1:=round(M[1,5]-(M[1,4]*x4)-(M[1,3]*x3)-(M[1,2]*x2));

end;



end.




Случайные файлы

Файл
27365-1.rtf
29094.rtf
42353.rtf
114000.rtf
116594.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.