计算机算法的表示方法与设计实例--避障机器人.pptVIP

计算机算法的表示方法与设计实例--避障机器人.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法的表示方法与设计实例 前面的内容:算法的概念和特点 通俗的说,算法就是解决问题的方法和步骤。 算法的表示方法 算法有多种表示方法,如: 用自然语言表示算法 (掌握) 用流程图表示算法  (重点掌握) 用伪代码表示算法  (了解) 用计算机语言表示算法(了解) 算法表示方法1——自然语言 用日常使用的语言,如汉语、英语等。 特点:通俗易懂,但有时文字冗长,容易造成歧义。 用自然语言表示算法 案例:在两个不相等的数a和b中找出较大的那个数。 用自然语言表示算法 案例:在两个数a和b中找出较大的那个数。(方法2) 算法表示方法2——流程图 流程图是算法实现最常用的方法。 用各种几何图形和标有箭头的线表示。 流程图符号 三种基本结构的流程图 顺序结构 选择结构 循环结构 三种基本结构的流程图 顺序结构 三种基本结构的流程图 选择结构 三种基本结构的流程图 循环结构 案例 :在两个不相等的数中找出较大的那个数。 算法表示方法3——伪代码 Pseudo Code 算法表示方法4——计算机语言 实例——算法设计与表示 避障机器人 实例——算法设计及表示 分析设计机器人避障算法,并用流程图表示算法。 机器人避障--算法分析 机器人避障--算法分析 红外探测模块工作原理: 机器人避障--算法分析 思考:两个红外模块的输出端,共有哪几种状态? 机器人避障--算法分析 思考:两轮独立驱动的机器人有多少种运动形式?(提示:每个轮子都可正反双向转动)        机器人避障--算法分析 左转 (左轮停, 右轮正转) 右转 (左轮正转,右轮停) 左倒转(左轮倒转,右轮停) 前进 (左轮正转,右轮正转) 机器人避障--算法分析 请由红外模块状态,完成下面的动作表: (动作可填:左转、右转等内容。轮子:前进、停止等。) 机器人避障--算法分析 机器人避障--算法分析 一种循环检测法 开始; 若开关开,执行下一步,否则,跳到最后一步; 若两边都有障碍,设置为左倒转,返回第2步,否则执行下一步; 若左边有、右边无障碍,设置为右转,返回第2步,否则执行下一步; 若右边有、左边无障碍,设置为左转,返回第2步,否则执行下一步; 若两边都无障碍,前进,返回第2步; 结束 机器人避障--算法分析 总结:机器人避障算法设计方法 展望 总结 算法的4种表示方法 算法的流程图表示方法 (重点) 算法设计与表示实例--机器人避障算法 课外作业--算法设计 三个不相等的数中找出最大数, 要求用流程图表示算法。 谢谢观看! * * 《计算机基础》—— (方法一) 输入任意两个不相等的数a和b; 如果a大于b,那么输出大数是a,否则输出大数是b。 输入任意两个不相等的数a和b; 计算c=a-b; 如果c0,那么max=a,否则max=b。 输出max。 思考:三个数中找出最大数? Ab最大数 算法可以由三种基本结构组成: (a)当型结构        (b) 直到型结构 P A 不成立 成立 P A 不成立 成立 输入任意两个不相等的数a和b; 计算c=a-b; 如果c0,那么max=a,否则max=b。 输出max。 开始 输入a,b a-b →c c0 a →max b →max 输出max 结束 yes no 流程图符号 begin input a,b; c=a-b; if c0 then max=a else max=b; output max; end 书写方便,格式紧凑、清晰 用非正式的符号系统来表达算法。 无语法限制,便于向计算机语言算法(程序)过渡。 C程序代码: #includestdio.h main() { int a,b,c,max; scanf(%d%d,a,b); c=a-b; if(c0) max=a ;else max=b; printf(大数是%d\n,max); } 伪代码 begin input a,b; c=a-b; if c0 then max=a else max=b; output max; end 必须严格遵循所用语言的语法规则。 一起来动脑筋: 红外模块 电机与轮子 实现目标: 在装有两个红外探测模块的两轮独立驱动的机器人平台上,设计一个避障机器人。 障 碍 物 有障碍物输出为低电平(0v); 无障碍物输出为高电平(+5v)。 用0表示低电平(0v),用1表示高电平(+5v) 0 0 左右 0 1 右 1 0 左 1 1 无 右红外模块(R) 左红外模块(L) 障碍位置 可得到7种比较简单的运动形式(动作): 停止、前进、后退、左转、右转、左倒转、右倒转 为了得到一种有效的又比较简单的避障算法

文档评论(0)

fangqing12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档