大学计算机基础课件第五计算机软件技术基础.ppt

大学计算机基础课件第五计算机软件技术基础.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4 算法与数据结构 (1) 用自然语言描述算法 (2) 用流程图描述算法 (3) 使用伪代码描述算法 (4) 用程序设计语言描述算法 算法的描述方法有以下四种: 下面通过两个简单的问题说明设计算法的思维方法。 【例1】有黑和蓝两个墨水瓶,但却错把黑墨水装在了蓝墨水瓶子里,而蓝墨水错装在了黑墨水瓶子里,要求将其互换。 算法分析:这是一个非数值运算问题。因为两个瓶子的墨水不能直接交换,所以,解决这一问题的关键是需要引入第三个墨水瓶。设第三个墨水瓶为白色,其交换步骤如下:   步骤1: 将黑瓶中的蓝墨水装入白瓶中;   步骤2: 将蓝瓶中的黑墨水装入黑瓶中;   步骤3: 将白瓶中的蓝墨水装入蓝瓶中;   步骤4: 交换结束。 5.4 算法与数据结构 我们完全可以将上述方法应用到两个变量值的交换。假定有两个变量x和y,它们的值分别是5和6,现在要将x 的值变为6,y的值变为5,借鉴上面的算法,编写下列程序段: temp=x; x=y; y=temp; 我们再用另一种方法编写程序: x=x-y; y=x+y; x=y-x; 其实,该程序段的功能与上面程序段完全等价。哪一段程序更简单明了,相信大家一目了然。 使用计算机进行问题求解,需要经过分析问题、设计算法、编程实现算法等步骤。以程序设计语言为工具,将算法实现为计算机的程序,再通过运行程序而得到问题的解。利用程序设计语言进行程序设计,是计算机问题求解的必要环节。 5.4 算法与数据结构 【例2】使用上面四种描述算法的方法求两个正整数m和n的最大公约数。 ① 自然语言描述 步骤1: 用m除以n,所得余数为r。 步骤2: 令m等于n,n等于r。 步骤3: 若r为0,则得到问题的解是m,否则转到步骤1继续。 ② 传统流程图描述,如图所示。 ③ 伪代码描述 BEGIN (算法开始) 输入整数m,n REPEAT r = m mod n; m = n; n = r; UNTIL r=0 输出m; END (算法结束) ④ 程序语言描述(Java语言) void gys(int m,int n){ int r; do{ r = m % n; m = n; n = r; }while(r!=0); printf(%d\n ,m) } 5.5 本章计算思维的典型案例 案例1: 某同学刚学了几天C语言程序设计,想试试自己的能力,找一道求方程3x2+5x-15=0的根的题目。用C语言写出下述的程序段: float x; /*定义变量*/ 3*x*x+5*x-15=0; /*给出方程,让计算机求解*/ printf(“%f”,x); /*输出结果*/ 结果上机一试,才发现错误一大堆,根本不可能得到想要的解。 该同学实在想不明白的是:计算机不是很神吗?怎么这么简单一个方程都不能求解? 事实上,计算机确实不能求解上述方程,确切地说,计算机只会帮我们“计算”,至于如何计算那就是我们的事情了。 5.6 本章计算思维的典型案例 就本例而言,如果我们自己都不知道如何求解此方程,那也就别指望计算机帮我们求解它。换句话说,我们得告诉计算机如何一步一步地去求解此方程,然后计算机按照我们的计算要求帮我们一步一步地去计算。只有很好地理解了这样的“计算思维”,我们才能写出下面的程序段: float x1 , x2, d; /*定义变量*/ d=5 * 5-4 * 3 * (-15); x1 = (-5 + sqrt(d))/(2 * 3); /*求根公式*/ x2 = (-5 - sqrt(d))/(2 * 3); /*求根公式*/ printf(“%f”, %f”, x1, x2); /*输出结果*/ 通过这个例子,大家应该明白计算机并不是你想象的那么“智能”。和人脑相

文档评论(0)

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

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

1亿VIP精品文档

相关文档