恭喜,你发布的帖子
发布于 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=当前阀,表示只有一个(当前)可开启的阀。
搜索,就是一个循环+比较的过程。
请填写推广理由:
分享
只看
楼主