回复:求教:编程思路

yanxiao

版主

  • 帖子

    12143
  • 精华

    46
  • 被关注

    183

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2016-05-25 22:30:18

9楼

回5楼:

1、下一个搜索不到即停机,与“可以只选一个”,有问题吗?只选一个也是不工作的。

2、搜索就是模拟人的操作逻辑:当要开启下一个阀时,从当前阀的下一个开始,一个一个检查,至到查到一个可开启的阀。8个全查完(包括当前已开启的阀),表示没有可开启的阀,也就是可开启的阀数少于2个。

3、怎么搜索。假如这一工作是由两个人完成,一个只管搜出哪个阀开启,然后告诉另一个人去执行,你要怎么做?是不是要给每个阀命名或编号,两个人才能交流。还要在阀上贴上标签,以示是否可用;这相当于组织一个数据结构,来存放阀的相关数据。

4、具体步骤,也是模拟人的操作过程。先从当前阀的下一个向最后一个阀8搜索,没有找到,再从阀1向当前阀搜索。

细节:

准备一个寄存器A,存放搜索到的阀编号,初始化为0;

若当前阀是最后一个阀,第一个搜索不执行;

当遇到可开启的阀且寄存器A=0,把这个阀编号放入寄存器A;

若第一个搜索结果寄存器A=0,执行第二个搜索;

若当前的阀编号=1,则不执行第二个搜索;

最后,若寄存器A=0,表示没有一个可开启的阀;若寄存器A=当前阀,表示只有一个(当前)可开启的阀。


搜索,就是一个循环+比较的过程。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。