siemensplcSTEP7scl十个数排序并求算术平均值.docVIP

  • 93
  • 0
  • 约1.29千字
  • 约 4页
  • 2021-02-27 发布于山东
  • 举报

siemensplcSTEP7scl十个数排序并求算术平均值.doc

//////////////////////////////////////////////////////////////////////////// // 十个数排序并求算术平均值(去最大最小值) // //////////////////////////////////////////////////////////////////////////// FUNCTION_BLOCK FB12 Block Parameters VAR_INPUT in1,in2,in3,in4,in5,in6,in7,in8,in9,in10:INT; END_VAR VAR_IN_OUT I/O Parameters END_VAR VAR_OUTPUT out1,out2,out3,out4,out5,out6,out7,out8,out9,out10:INT; out_max,out_min:INT; average:INT; END_VAR VAR_TEMP END_VAR VAR Chin:ARRAY[1..10] OF INT; i,j,k:INT; 1 / 4 temp,total:INT; END_VAR BEGIN Chin[1]:=in1; Chin[2]:=in2; Chin[3]:=in3; Chin[4]:=in4; Chin[5]:=in5; Chin[6]:=in6; Chin[7]:=in7; Chin[8]:=in8; Chin[9]:=in9; Chin[10]:=in10; out_max:=Chin[1]; out_min:=Chin[1]; total:=0; FOR i:=10 TO 1 BY -1 DO//冒泡排序 FOR j:=1 TO i-1 BY 1 DO IF Chin[j] Chin[j+1] THEN temp:=Chin[j]; Chin[j]:=Chin[j+1]; 2 / 4 Chin[j+1]:=temp; END_IF; END_FOR; END_FOR; FOR k:=1 TO 10 BY 1 DO IF Chin[k] out_max THEN out_max:=Chin[k];// 求最大值 END_IF; IF Chin[K] out_min THEN out_min:=Chin[K];// 求最小值 END_IF; total:=total+Chin[k];// 求总和 END_FOR; average:=(total-out_max-out_min)/10;// 求去最大最小值后的算术平均值 out1:=Chin[1]; out2:=Chin[2]; out3:=Chin[3]; out4:=Chin[4]; out5:=Chin[5]; out6:=Chin[6]; out7:=Chin[7]; 3 / 4 out8:=Chin[8]; out9:=Chin[9]; out10:=Chin[10]; END_FUNCTION_BLOCK 4 / 4

文档评论(0)

1亿VIP精品文档

相关文档