delphi 查找6个数是否超过其平均值的±10%,用于水泥检测计算胶砂强度。

zijieli 2023-11-15 11:43:23
procedure Tshuini.btn1Click(Sender: TObject);
var
  i,j,l,m,x,y:Integer;
  KYarray,kyarray1:array of Real;
  kyqz,pjz,pjz1,pjz2,pjz3,A1,A2,A3,A4:Real;
begin
  KYarray:= nil;
  SetLength(KYarray,6);
  KYarray[0]:=StrToFloat(edt25.Text);
  KYarray[1]:=StrToFloat(edt26.Text);
  KYarray[2]:=StrToFloat(edt27.Text);
  KYarray[3]:=StrToFloat(edt28.Text);
  KYarray[4]:=StrToFloat(edt29.Text);
  KYarray[5]:=StrToFloat(edt30.Text);
  pjz:=RoundTo((KYarray[0]+KYarray[1]+KYarray[2]+KYarray[3]+KYarray[4]+KYarray[5])/6 ,-1);
  pjz2:=1.1*pjz ;
  pjz3:=0.9*pjz ;
   L:=0;
  m:=0;
  A1:=0;
  A2:=0;
  A3:=0;
  x:=0;
  y:=0;
   for i:=0 to 5 do
  begin
   A1:=A1+KYarray[i];
   if (KYarray[i] > pjz3) and (KYarray[i] < pjz2) then
    begin
    edt21.Text:=FloatToStr(RoundTo((A1/6),-1));
    end
     else
     If (KYarray[i]> pjz2) or (KYarray[i]< pjz3)  then
    begin
      A2:=A2+KYarray[i];
      m:=m+i;
      L:=L+1;
      case L of
      1:
       begin
         for j:=0 to 6 do
          begin
          if j=i then  Continue
          else
          begin
           A3:=A3+KYarray[j];
           A4:=RoundTo(A3/5 ,-1);
           edt21.Text:=FloatToStr(a4);
           end;
           if(KYarray[i]> A4*0.9) or (KYarray[i]< a4*1.1)   then  edt21.Text:=FloatToStr(a4)
           else
            edt21.Text:='无效值' ;
           end;
           end;
      2: edt21.Text:='作废';
      end;
      end ;
      end;
      end;

 

...全文
240 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,746

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧