implementation
{$R *.dfm}
var
m:array[1..6] of real;
function max1(m:array [ 1..6] of real):real;
var
i,j:integer;
k:real;
begin
for i:=1 to 6 do
for j:=i to 5 do
begin
if (m[i]>m[j]) then
begin
k:=m[i];
m[i]:=m[j];
m[j]:=k;
end;
end;
max1:=m[6];
end;
{
以上函数是求取分数的最大值,通过max1返回
}
function min1( m:array [1..6] of real):real;
var
i,j:integer;
k:real;
begin
for i:=1 to 6 do
for j:=i to 5 do
begin
if (m[i]<m[j]) then
begin
k:=m[i];
m[i]:=m[j];
m[j]:=k;
end;
end;
min1:=m[6];
end;
{
以上函数是求取分数的最小值,通过max1返回
}
function operate(m:array [ 1..6] of real):real;
var
i,j:integer;
min1,max1,sum:real;
begin
sum:=0;
for i:=1 to 6 do
begin
sum:=sum+m[i];
end;
min1:=min1(m); //调用最大值函数,求数组的最大值
max1:=max1(m); //调用最小值函数,求数组的最小值
sum:=sum-min1-max1; //去掉最大值(即最高分),去掉最小值(即最低分)
sum:=sum/4; //求去掉最大值,最小值后的平均分
operate:=sum; //用sum变量接收平均值,并返回
end;
{
以上函数是求取结果
}
procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
end;
{
清楚所有edit.text组件里面的内容
}
procedure TForm1.Button1Click(Sender: TObject);
var
k:real;
begin
m[1]:=strtoint(edit1.text);
m[2]:=strtoint(edit2.text);
m[3]:=strtoint(edit3.text);
m[4]:=strtoint(edit4.text);
m[5]:=strtoint(edit5.text);
m[6]:=strtoint(edit6.text);
k:=operate(m); //调用函数,求取平均分,通过k参数返回
edit7.Text :=inttostr(k); //将平均分在edit7组件输出
end;
end.