编程技能训练与等级考试 PPT 第2章 程序的灵魂---算法.pptVIP

编程技能训练与等级考试 PPT 第2章 程序的灵魂---算法.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文档。上传文档
查看更多
§2.2 简单算法举例 例2. 4 求ln2 例2. 3 判断闰年 S1:y=2000 S2:y%4≠0, 打印y不是闰年, 转到S6 S3:y%4=0,y%100≠0, 打印y是闰年 转到S6 S4:%100=0,y%400=0, 打印y是闰年 转到S6 S5:打印y不是闰年 S6:y=y+1 S7:y≤2500, 转到S2 S1:sign=1 S2:sum=1 S3:deno=2 S4:sign=(-1)×sign S5:term=sign×(1/deno) S6:sum=sum+term S7:deno=deno+1 S8:deno≤100, 转到S4 §2.2 简单算法举例 例2. 3 判断素数 S1:输入n的值 S2:i=2 S3:r=n%i S4:r=0, 打印不是素数, 否则, 转到S5 S5:i=i+1 S6:i≤n-1, 返回S3, 否则, 打印是素数 §2.3 算法的特性 有穷性 一般指“在合理的范围内”,例如求π 确定性 一般指程序中的每一条语句含义明确, 作用唯一 有零个或多个输入 在执行算法时, 从外界得到必要的处理数据信息 有一个或多个输出 程序设计的目的就是要得到结果, 没有输出的算法是没有意义的 有效性 算法中的每一步都需要有效的执行, 并得到确定的结果 §2.4 怎样表示一个算法 用自然语言表示算法 特点: 用自然语言表示通俗易懂,但文字冗长,含义不明确,易产生歧义性,要根据上下文才能判断其含义. 常见算法表示方法: 自然语言 传统流程图 结构化程序图 伪代码 PAD图等 §2.4 怎样表示一个算法 用流程图表示算法 注释框 起止框 输入输出框 判断框 处理框 流程线 连接点 一个流程图包括以下几部分: ① 表示相应操作的框 ② 带箭头的流程线 ③ 框内外必要的文字说明 流程图特点: 形象直观, 能清楚地显示各个框之间的逻辑关系. 但是, 画流程图费时费事, 现已被N-S结构化流程图代替. §2.4 怎样表示一个算法 三种基本结构和改进的流程图 (1). 传统流程图的弊端 BS型算法: 传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限止.使用者随意划来划去,使人难以理解算法的逻辑关系,使算法的可靠性和可维护性难以保证. 解决办法: 首先限止箭头(goto)的随意使用;其次,将一些基本结构组合在一起,构成一些算法结构,再利用这些算法结构构成整个算法. §2.4 怎样表示一个算法 三种基本结构和改进的流程图 (2). 三种基本结构 1966年,Bohra和Jacopini提出以下三种基本结构: 顺序结构 选择结构 当型循环 循环结构 直到型循环 特点: ① 只有一个入口 ② 只有一个出口 ③ 结构内的每一部分都有机会被执行 ④ 结构内不存在死循环 §2.4 怎样表示一个算法 用N-S流程图表示算法 1973年美国I.NNassi和B.SShneiderman提出N-S法 A B A B p 成立 不成立 选择结构 A A 当p成立 直到p成立 顺序结构 当型循环 直到型循环 N-S流程图特点: 比文字描述直观、形象、易于理解, 比传统流程图紧凑易画 §2.4 怎样表示一个算法 用伪代码表示算法 伪代码是用介于自然语言和计算机语言之间的文字和符号描述算法. 特点: 不用图形符号,书写方便,格式紧凑,一些关键字用英文表示,便于向计算机语言算法(即程序)过度. 用计算机语言表示算法 例: 2.20 2.21 §2.5 结构化程序设计方法 结构化程序就是用高级语言表示的结构化算法 结构化程序设计强调设计风格和程序结构的规范化,具体办法是: ① 自顶向下 ② 逐步细化 ③ 模块化设计 ④ 结构化编码 * leewynet@ leewynet@ leewynet@ leewynet@ leewynet@ leewynet@ leewynet@ leewynet@ leewynet@ leewynet@ leewynet@ leewynet@ 程序设计基础 主讲:李维勇 移动应用开发教研室 程序的灵魂 ——算法 教学内容 §2.1 算法的概念 §2.2 简单算法举例 §2.3 算法的特性 §2.4 怎样表示一个算法 §2.5 结构化程序设计方法 教学要求 1.了解算法的概念和特点 2.掌握算法的表示方法 3.学会使用N-S表示法 4.了解结构化程序设计方法 §2.

文档评论(0)

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

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档