网站大量收购闲置独家精品文档,联系QQ:2885784924

北方民族大学程序设计语言课件 算法.ppt

北方民族大学程序设计语言课件 算法.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二讲 程序的灵魂--算法 主讲教师:徐东燕 Email:xdybb@163.com 学习目标: ?了解什么是计算机算法及其特性 ?了解常用的算法(程序)设计策略和方法 ?掌握用传统流程图和N-S图表示算法的方法 程序设计算法 1、算法定义:是解决问题的方法和步骤,即如何用最少的步骤实现某一工作。算法是规则的有穷序列,它为解决某一特定类型的问题规定了一个运算过程。 2、算法的特性: 有限性 确定性 可行性 输入:一般要求有输入 输出:至少有一个输出 eg1:求1+2+3+…+6的和。 eg2:求5,6,9三个数中的最大值。 什么是“好”的算法? ?正确性(有效性) ?可读性 ?健壮性(鲁棒性) ?时间复杂度和空间复杂度 常用的算法策略: 穷举法(枚举法) 递推法与迭代法 递归方法 逐步求精法 分治法 3、算法的表示    程序流程图描述   N-S图描述 伪代码表示法 (1)程序流程图描述 程序流程图描述:用一些基本符号表示程序的执行步骤与控制流向。 eg3:流程图表示什么含义? 小结: 流程图是表示算法的较好的工具。 一个流程图包括以下几部分 : (1)表示相应操作的框; (2)带箭头的流程线; (3)框内外必要的文字说明。 (2)N-S图描述 N-S图表示的顺序结构,选择结构,循环结构如下。 (2)N-S图描述          循环结构 用计算机语言实现的算法就是程序 //计算100以内自然数的和 #includeiostream.h int main() { int i ,sum=0; for(i=1;i=100;i++) sum=sum+i; cout1+2+3+…+100=sum; coutendl; return 0; } 开始 输入x 输出x 结束 输入x 输出x 顺序结构 开始 输入x 输出2*x 结束 x0? Y N 输出1-x x0? Y N 输出1-x 输入x 输出2*x 选择结构 ex:从键盘输入x,按照函数输出y的值。 y= 2*x+1 x1 2*x-1 x=1 x1? Y N y=2*x-1 输入x y=z*x+1 输出y 开始 输入x 结束 x0? Y N 输出2*x 当型循环结构 输入x x0? 输出2*x 输入x ex:从键盘输入x,并输出x的相反数的值, 直到x为0的时候停止。 三 输入x x!=0? 输出-x 输入x 输入x 输出-x x!=0? 怎样表示一个算法(伪代码) 伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。它如同一篇文章自上而下的写下来。每一行(或几行)表示一个操作。 例:依次将10个数输入,要求将其中最大的数打印 出来。 开始 置t的初值为0 置i的初值为1 当i=10时,循环执行以下操作: 输入一个数x 如果xt,则t=x 输出t的值 结束 韩 萌 2006 韩 萌 2006 韩 萌 2006 韩 萌 2006 韩 萌 2006 韩 萌 2006 韩 萌 2006 * 一个程序应包括两个方面的内容: 对数据的描述:数据结构(data structure) 对操作的描述:算法(algorithm) 著名计算机科学家沃思提出一个公式:  数据结构 + 算法 = 程序 数据结构+算法+程序设计方法+语言工具 完整的程序设计应该是: 方法2: sum=6+1 sum=6×sum sum=sum/2 方法1: sum=1 sum=sum+2 sum=sum+3 sum=sum+4 sum=sum+5 sum=sum+6 方法1: max=5 if max6 max=6 if max9 max=9 方法2: if 56 max=5 else max=6 if max9 max=9 ex:求8,6,2,10四个数中的最大值。 程序起止框 输入输出框 条件判断框 过程/处理框 程序流程线 怎样表示一个算法(流程图) 开始 0→s 1→i s+i→s i+1→i i100 N Y 结束 开始 0→s 100→n n*(n+1)→s 结束 含义: 先执行命令组1, 再执行命令组2。 是一种顺序结构。 顺序结构 命令组1 命令组2 开始 输入x 输出x 结束 含义:从键盘输入x并 将输入值原样输出 是一种顺序结构。 条件 Y N 命令组1 命令组2 选择结构 含义:如果条件成立,执行命令组1;否则 执行命令组2。是一种选择结构。 开始 输入x 输出2*x 结束 x0? Y N 输出1-x 从键盘输入x,如果x0输出2*x,否则输出

您可能关注的文档

文档评论(0)

ormition + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档