Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:asd / корзина / лекции по TP / лаб7 / Unit1
.pas unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, OleCtnrs, StdCtrls;
type
mass=array[1..15] of integer;
TForm1 = class(TForm)
OleContainer1: TOleContainer;
MainMenu1: TMainMenu;
N1: TMenuItem;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
EXIT1: TMenuItem;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
MAX1: TMenuItem;
N2: TMenuItem;
Label7: TLabel;
procedure N1Click(Sender: TObject);
procedure EXIT1Click(Sender: TObject);
procedure MAX1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x,y,z:mass;
m:array[1..3] of integer;
implementation
{$R *.dfm}
function max(c:mass;n:byte): integer;
var i,b:integer;
begin
b:=c[1];
for i:=2 to n do if b<c[i] then b:=c[i];
max:=b
end;
procedure vivodm( var g:integer;c:mass;n:byte;f:string;k:Tlabel);
var i:byte;
begin
g:=max(c,n);
k.Caption:=f+' = ';
k.Caption:=k.Caption+' '+IntToStr(g);
end;
// ************************************************************
procedure vvod(var c:mass;n:byte;f:string);
var t:textfile; i:byte;
begin
assignfile(t,f);
reset(t);
for i:=1 to n do read(t,c[i]);
closefile(t)
end;
// ***************************************************************
procedure vivod( c:mass;n:byte;f:string;k:Tlabel);
var i:byte;
begin
k.Caption:=f+' (';
for i:=1 to n do k.Caption:=k.Caption+' '+IntToStr(c[i]);
k.Caption:=k.Caption+' ) '
end;
//******************************************************************
procedure TForm1.N1Click(Sender: TObject);
begin
vvod(x,10,'x.pas');
vvod(y,15,'y.pas');
vvod(z,8,'z.pas');
vivod(x,10,'массив X',label1);
vivod(y,15,'массив Y',label2);
vivod(z,8,'массив Z',label3);
end;
procedure TForm1.EXIT1Click(Sender: TObject);
begin
close
end;
procedure TForm1.MAX1Click(Sender: TObject);
begin
vivodm(m[1],x,10,' max_X',label4);
vivodm(m[2],y,15,' max_Y',label5);
vivodm(m[3],z,8,' max_Z',label6);
end;
procedure TForm1.N2Click(Sender: TObject);
var i,j:byte; s:integer;
begin
for j:=1 to 2 do
for i:=1 to 2 do if m[i]<m[i+1] then begin
s:=m[i];
m[i]:=m[i+1];
m[i+1]:=s
end;
for i:=1 to 3 do label7.Caption:=label7.Caption+' '+IntToStr(m[i]);
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, OleCtnrs, StdCtrls;
type
mass=array[1..15] of integer;
TForm1 = class(TForm)
OleContainer1: TOleContainer;
MainMenu1: TMainMenu;
N1: TMenuItem;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
EXIT1: TMenuItem;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
MAX1: TMenuItem;
N2: TMenuItem;
Label7: TLabel;
procedure N1Click(Sender: TObject);
procedure EXIT1Click(Sender: TObject);
procedure MAX1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x,y,z:mass;
m:array[1..3] of integer;
implementation
{$R *.dfm}
function max(c:mass;n:byte): integer;
var i,b:integer;
begin
b:=c[1];
for i:=2 to n do if b<c[i] then b:=c[i];
max:=b
end;
procedure vivodm( var g:integer;c:mass;n:byte;f:string;k:Tlabel);
var i:byte;
begin
g:=max(c,n);
k.Caption:=f+' = ';
k.Caption:=k.Caption+' '+IntToStr(g);
end;
// ************************************************************
procedure vvod(var c:mass;n:byte;f:string);
var t:textfile; i:byte;
begin
assignfile(t,f);
reset(t);
for i:=1 to n do read(t,c[i]);
closefile(t)
end;
// ***************************************************************
procedure vivod( c:mass;n:byte;f:string;k:Tlabel);
var i:byte;
begin
k.Caption:=f+' (';
for i:=1 to n do k.Caption:=k.Caption+' '+IntToStr(c[i]);
k.Caption:=k.Caption+' ) '
end;
//******************************************************************
procedure TForm1.N1Click(Sender: TObject);
begin
vvod(x,10,'x.pas');
vvod(y,15,'y.pas');
vvod(z,8,'z.pas');
vivod(x,10,'массив X',label1);
vivod(y,15,'массив Y',label2);
vivod(z,8,'массив Z',label3);
end;
procedure TForm1.EXIT1Click(Sender: TObject);
begin
close
end;
procedure TForm1.MAX1Click(Sender: TObject);
begin
vivodm(m[1],x,10,' max_X',label4);
vivodm(m[2],y,15,' max_Y',label5);
vivodm(m[3],z,8,' max_Z',label6);
end;
procedure TForm1.N2Click(Sender: TObject);
var i,j:byte; s:integer;
begin
for j:=1 to 2 do
for i:=1 to 2 do if m[i]<m[i+1] then begin
s:=m[i];
m[i]:=m[i+1];
m[i+1]:=s
end;
for i:=1 to 3 do label7.Caption:=label7.Caption+' '+IntToStr(m[i]);
end;
end.
Соседние файлы в папке лаб7