中文乐高

 找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 442|回复: 20

新人求助,看看这两个程序有什么区别

[复制链接]
发表于 2018-10-11 12:46:36 | 显示全部楼层 |阅读模式
如题,求大神帮忙看看,这两个程序到底有没有区别?或者使用的局限性?请具体详细说明,再次谢过

程序1

程序1


程序2

程序2

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-10-11 17:01:58 | 显示全部楼层
感觉这么写,会比较清楚一点
微信图片编辑_20181011165521.jpg
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2018-10-11 16:21:23 | 显示全部楼层
乐乐520 发表于 2018-10-11 14:45
区别很大.
1.图1的想法是,按下左键,电机正转,释放的时候,电机继续正转,再次按下左键,电机停止.(右键略);
...

两个程序都是按下 键,电机转,松开键,电机不转的。。。

至于改成“碰撞”,我这里用的程序块的“按键”,触动传感器才用“碰撞”吧
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 支持 0 反对 1

使用道具 举报

发表于 2018-10-11 13:42:35 | 显示全部楼层
帮顶一下吧。我也说不出个所以然来。大概后者是一个逻辑判断而前者就是死命令的感觉,可能说的不对,楼下轻喷
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
 楼主| 发表于 2018-10-11 13:54:52 | 显示全部楼层
looking1995 发表于 2018-10-11 13:42
帮顶一下吧。我也说不出个所以然来。大概后者是一个逻辑判断而前者就是死命令的感觉,可能说的不对,楼下轻 ...

感谢有人回复了!
这个程序因为比较简单,我想的是在后面由多个子程序组成的复杂程序里面,如果用到了上述程序,两种不同的选择会不会有逻辑上冲突之类的问题。
还有就是在我自己才学编程的时候,第一种程序感觉容易从一名初学者的理解上快速上手,第二个程序逻辑上明了不累赘。所以很困惑。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-10-11 14:32:11 | 显示全部楼层
上面那个是说话一样一下就说完了,下面这个是在绕口令,意思差不多,但是说出来比较费劲。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-10-11 14:45:57 | 显示全部楼层
区别很大.
1.图1的想法是,按下左键,电机正转,释放的时候,电机继续正转,再次按下左键,电机停止.(右键略);
而图2的想法是:按下左键电机正转,释放的时候,电机就停下不转.(不按就不转)

2.图1 要想实现此功能,最好把"按下"改为"碰撞",防止按键抖动,因为在按键按下后,可能时间稍长,就会直接经过下一个等待指令,导致按键"失灵"的状况发生.
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-10-11 16:15:28 | 显示全部楼层
程序可以看出是一个按键控制程序,下方的程序逻辑更加清晰,第一个程序也是可以实现相同功能,这个其实不必过于纠结,当然等切换模块越用越熟练时,你会慢慢放弃使用等待模块的,等待模块可以看作是一个必要条件,切换能是充要条件,相对更加灵活的
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
 楼主| 发表于 2018-10-11 16:26:12 | 显示全部楼层
dybw12345 发表于 2018-10-11 16:15
程序可以看出是一个按键控制程序,下方的程序逻辑更加清晰,第一个程序也是可以实现相同功能,这个其实不必 ...

谢谢您的讲解,让我意识到充分条件,必要条件和此程序的关系,我得回去好好复习下数学了。

还有提出这个问题,是因为我以前在做多个切换套切换模块的时候,单纯的等待已经满足不了了,但是不知道原因在哪里,包括好多次写程序的思路也较为匮乏。  再次感谢 让我意识充分必要条件的重要性。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
 楼主| 发表于 2018-10-11 16:30:02 | 显示全部楼层
说方言的小屁孩 发表于 2018-10-11 14:32
上面那个是说话一样一下就说完了,下面这个是在绕口令,意思差不多,但是说出来比较费劲。

有些复杂的程序只能用切换完成,单纯的等待满足不了的。。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-10-11 16:49:15 | 显示全部楼层
legobear 发表于 2018-10-11 16:26
谢谢您的讲解,让我意识到充分条件,必要条件和此程序的关系,我得回去好好复习下数学了。

还有提出这 ...

如果你要实现的是按钮按下去,电机就转,没按下去,电机就不转,那图1的程序结果是对的,但是过程不对,这个程序不能这么写。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-10-11 16:56:00 | 显示全部楼层
没什么区别 也没什么局限性 反而有点编的没这么必要 因为停止不需要再写停止了, 但是没什么毛病
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
 楼主| 发表于 2018-10-11 17:34:29 | 显示全部楼层
hhaiqsuyu 发表于 2018-10-11 17:01
感觉这么写,会比较清楚一点

好想法,感谢指导
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-10-12 20:58:16 | 显示全部楼层
个人感觉,就这一部分编程来说,实际运行中是不存在太大差异的,但论合理性,后者有着明显优势,即前者存在我同时按下左键和右键,机器人会收到两个相反的指令,机器人的运动将不可控(可能前、可能后),后者就逻辑上是不存在同时按下左键和右键时机器人会收到多个运动指令的情况,如果程序量大,变量多,前者可定会有出现冲突的。简单情况下就没太大区别了。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-10-13 09:08:57 | 显示全部楼层
本帖最后由 積木頑童 于 2018-10-13 09:11 编辑

第一個是多工作業,你甚至可以同時一次按左鍵和右鍵,但馬達卻是同一個不知所措

第二個卻只能擇一選擇,但整體比較不會多餘
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|中文乐高 ( 桂ICP备11003955号-1 )