1.4算法的概念和表示方法.pptVIP

  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文档。上传文档
查看更多
实践体验一、将柱子A上的3个盘子,移动到柱子C上。 规则: 1.移动时,在小圆盘上不能放大圆盘。 2.在三根柱子之间一次只能移动一个圆盘。 A B C A B C 情境导入 A B C A B C ① 将小黄块移到C ② 将中蓝块移到B ③ 将小黄块移到B ④ 将大红块移到C ⑥ 将中蓝块移到C ⑤ 将小黄块移到A ⑦ 将小黄块移到C 3.7 算法的概念和表示方法 01 算法的概念 算法就是解题方法的精确描述。 生活中处处存在着算法 生活中 的算法 田忌赛马 的方案 一元二次方程 解题过程 演奏的乐谱 武侠中的 《易筋经》 广播操图解 等等…… 02 算法的特征 算法描述的是一种有穷的动作序列,即算法是由有限个步骤组成的,在算法中每一步动作的表现形式并没有规定的格式,可以是抽象的,也可以是具体的,但是这些动作的含义应当是明确的(即没有二义性),同时还应该是能行的(即在有限的时间内可以做到的)。 用一分钟时间阅读书本上61页关于算法的描述, 用词语归纳算法的特征 1.有穷性(步骤有限) 2.确定性 (没有二义性) 4.有0个或多个输入 (可无输入量,也可从外界输入初始数据) 算法的特征 3.能行性 (在有限的时间内可以做到) 输出:所有整数 求解:10/正整数 求解:√-3 5.有1个或多个输出 (必须有输出) “程序出错” 也是一种输出! 03 算法的优化 假设煮饭、炒菜为同一个锅,需通过洗菜和切菜、做饭、炒菜三个环节来完成一顿饭菜,你会选择下面哪种方法来操作?为什么? t 炒菜 做饭 洗菜、切菜 做饭 炒菜 洗菜、切菜 炒菜 洗菜、切菜 做饭 炒菜 做饭 洗菜、切菜 方法一 方法二 方法三 方法四   面对同一个问题,通常有很多解决问题的方法和步骤,我们一般尽可能采用简单省时的和步骤最少的方法来解决问题。 对同一问题,可以有不同的解题方法和步骤。华罗庚在数学普及读物《统筹方法平话及补充》中,以“泡茶”为例,阐明了设计和选择合适的、优化的算法的重要性。 1.自然语言 : 即用汉语或英语这样的自然语言来表示算法。 04 算法的表示方法 ① 将小黄块移到C ② 将中蓝块移到B ③ 将小黄块移到B ④ 将大红块移到C ⑥ 将中蓝块移到C ⑤ 将小黄块移到A ⑦ 将小黄块移到C 通俗易懂 通常所用的文字为了精确的表达意思会比较冗长繁琐。 容易出现“二义性”。 我们班小丁对小张说数学老师叫他去办公室 2.流程图 形象直观 是程序员经常用来描述算法的工具,流程图用图框及流程线来表示算法,简洁易懂。 04 算法的表示方法 流程图 画流程图规则: 根据算法中每一个步骤,选用合适的流程框图 流程图符号: 开始、结束框 处理框 判断框 输入、输出框 流程线 连接框 表示算法的开始与结束 表示输入、输出数据 用于表示要处理的内容 表示条件判断及产生分支的情况 用于连接因页面写不下而断开的流程线 有向线段,用于控制流程方向 符号 名称 作用 04 算法的表示方法 例:用流程图描述“输入两个不同的正整数,输出其中值最大的数”的算法。 开始 输入变量a,b的值 max=a ab? max=b 输出最大值变量max的值 结束 Y N 04 算法的表示方法 处理框 输入输出框 判断框 连接框 流程线 开始、结束框 设计一个算法,对任意输入的三个不等的整数X、Y和Z,找出并输出其中的最小值。 自然语言表示方法: 1.输入变量x,y,z?? 2.比较x,y。如果xy,则x存入以min命名的存储单元中;否则,y存入min? 3.比较z和min。如果zmin,则将z存入min?? 4.输出min? 流程图: 输入变量x、y、z的值 xy? min=y min=x zmin? min=z Y 输出变量min的值 N Y N 开始 结束 实践体验2 04 算法的表示方法 开始 输入变量a,b的值 max=a ab? max=b 输出最大值变量max的值 结束 Y N 3.计算机语言 计算机能识别 高级语言 Pascal Visual Basic C++ …… 04 算法的表示方法 Private Sub Command1_Click() Dim a,b,max as Integer ‘分别读取两个整数转换后保存在变量a和b中’ a=Val(Text1.Text) b=Val(Text2.Text) If ab Then max=a Else max=b End if Label1.Caption= “最大数是” Str(max) End Sub 把冰箱门打开 把大象放进去 05 算法的三种基本的控制结构 1.顺序结构 一个步骤

文档评论(0)

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

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

1亿VIP精品文档

相关文档