做个数据组合筛选程序 点击:169 | 回复:7



天自

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 54回
  • 年度积分:51
  • 历史总积分:964
  • 注册:2022年5月09日
发表于:2022-06-15 15:25:52
楼主

//数据组合,根据目标值和组合数据个数,选择出大于大于目标值的最小组合

//如设定3数组合,查找数据表任意三个数的和,选出大于目标且最接近目标的 三个数。

//计算数据库各个数与目标值差

FOR #I:= 0 TO 7 DO

    #计算组[#I] := #数据库.数组[#I] - #目标值;

END_FOR;

//根据选择组合数做出判断

CASE #组合数 OF

    1:  // 求出最接近目标数的值

        FOR #I := 1 TO 7 DO

            IF #计算组[#I] > 0 THEN

                #A := #计算组[#I];

                FOR #J := #I + 1 TO 7 DO

                    IF (#计算组[#J] < #A) THEN

                        #A := #计算组[#J];

                    END_IF;

                END_FOR;

                IF #A = #计算组[#I] THEN

                    #编号1 := #I;

                ELSE

                    #编号1 := #J;

                END_IF;

                EXIT;

            END_IF;

         END_FOR;

       

    2://任意组合两个数,算出大于零的最小值

        #A := 0;

        FOR #I := 0 TO 6 DO

            FOR #J := #I+1 TO 7 DO

                #B := #计算组[#I] + #计算组[#J];

                IF (#B > #A) AND (#K = 0) THEN

                    #A := #B;

                    #编号1 := #I;

                    #编号2 := #J;

                    #K := 1;

                END_IF;

                IF #B < #A THEN

                    #A := #B;

                    #编号1 := #I;

                    #编号2 := #J;

                END_IF;

            END_FOR;

        END_FOR;




楼主最近还看过



天自

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 54回
  • 年度积分:51
  • 历史总积分:964
  • 注册:2022年5月09日
发表于:2022-06-15 15:28:30
1楼

1211C的SCL语言,没法模拟,不能仿真,谁有更好的数据办法

郭冬冬

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 619回
  • 年度积分:91
  • 历史总积分:147000
  • 注册:2022年4月24日
发表于:2022-06-17 11:12:37
2楼

有条件的话可以找个便宜的西门子PLC,二手也可以用来测试程序。SCL编写的用硬件来测试

郭冬冬

  • 精华:0帖
  • 求助:0帖
  • 帖子:19帖 | 619回
  • 年度积分:91
  • 历史总积分:147000
  • 注册:2022年4月24日
发表于:2022-06-19 08:20:53
3楼

这个程序不错,我来参考一下。

天自

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 54回
  • 年度积分:51
  • 历史总积分:964
  • 注册:2022年5月09日
发表于:2022-06-20 14:09:58
4楼

"郭冬冬" 的回复,发表在3楼
        对内容: 【这个程序不错,我来参考一下。】进行回复:

        -----------------------------------------------------------------


有问题了,说一下我改进改进

yf830110

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:49
  • 历史总积分:100
  • 注册:2006年4月25日
发表于:2022-06-20 14:28:31
5楼

如果#计算组[#I] 的值为负数?

天自

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 54回
  • 年度积分:51
  • 历史总积分:964
  • 注册:2022年5月09日
发表于:2022-06-21 14:22:56
6楼

"yf830110" 的回复,发表在5楼
        对内容: 【如果#计算组[#I] 的值为负数?】进行回复:

        -----------------------------------------------------------------负值说明采集数比目标数小,做组合称重时候,负数直接排除


LBX112233

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 713回
  • 年度积分:214
  • 历史总积分:601
  • 注册:2012年5月10日
发表于:2022-06-22 17:25:53
7楼

谢谢分享。。学习学习。。


热门招聘
相关主题

官方公众号

智造工程师