C语言 北工商课件(1).ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

编辑课件ppt程序的灵魂——算法(二)实际上,一个程序除了以上两个主要要素之外,还应当采用结构化程序设计方法进行程序设计,并且用某一种计算机语言表示。因此,可以这样表示:程序=算法+数据结构+程序设计方法+语言工具和环境也就是说,以上4个方面是一个程序设计人员所应具备的知识。在设计一个程序时要综合运用这几方面的知识。在这4个方面中,算法是灵魂,数据结构是加工对象,语言是工具,编程需要采用合适的方法。算法是解决“做什么”和“怎么做”的问题。程序中的操作语句,实际上就是算法的体现。显然,不了解算法就谈不上程序设计。算法的概念(一)从事各种工作和活动,都必须事先想好进行的步骤,然后按部就班地进行,才能避免产生错乱。不要认为只有“计算”的问题才有算法。广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。对同一个问题,可以有不同的解题方法和步骤。方法有优劣之分。有的方法只需进行很少的步骤,而有些方法则需要较多的步骤。一般说,希望采用简单的和运算步骤少的方法。因此,为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。算法的概念(二)例:判定2000—2500年中的每一年是否闰年,将结果输出。闰年的条件是:①能被4整除,但不能被100整除的年份都是闰年,如1996年,2004年是闰年;②能被100整除,又能被400整除的年份是闰年。如1600年、2000年是闰年。不符合这两个条件的年份不是闰年。算法可表示如下:设y为被检测的年份。可采取以下步骤:S1:2000=>yS2:y不能被4整除,则输出y“不是闰年”。然后转到S6算法的概念(三)S3:若y能被4整除,不能被100整除,则输出y“是闰年”。然后转到S6S4:若y能被100整除,又能被400整除,输出y“是闰年”;否则输出“不是闰年”。然后转到S6S5:输出y“不是闰年”S6:y+1=>yS7:当y≤2500时,转S2继续执行,如y>2500,算法停止。算法的概念(四)在这个算法中,采取了多次判断。先判断y能否被4整除,如不能,则y必然不是闰年。如y能被4整除,并不能马上决定它是否闰年,还要看它能否被100整除。如不能被100整除,则肯定是闰年(例如1996年)。如能被100整除,还不能判断它是否闰年,还要被400整除,如果能被400整除,则它是闰年,否则不是闰年。在这个算法中,每做一步,都分别分离出一些范围(巳能判定为闰年或非闰年),逐步缩小范围,使被判断的范围愈来愈小,直至执行S5时,只可能是非闰年。见图2.1示意。算法的特性(一)一个算法应该具有以下特点:1.有穷性一个算法应包含有限的操作步骤,而不能是无限的。事实上,“有穷性”往往指“在合理的范围之内”。究竟什么算“合理限度”,并无严格标准,由人们的常识和需要而定。2.确定性算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。算法的特性(二)3.有零个或多个输入所谓输入是指在执行算法时需要从外界取得必要的信息。一个算法也可以没有输入。4.有一个或多个输出算法的目的是为了求解,“解”就是输出。没有输出的算法是没有意义的。5.有效性算法中的每一个步骤都应当能有效地执行,并得到确定的结果。怎样表示一个算法为了表示一个算法,可以用不同的方法。常用的有自然语言、传统流程图、结构化流程图、伪代码、PAD图等。用自然语言表示算法用自然语言表示通俗易懂,但文字冗长,容易出现“歧义性”。自然语言表示的含义往往不太严格,要根据上下文才能判断其正确含义。此外,用自然语言描述包含分支和循环的算法,不很方便(如例2.5的算法)。因此,除了很简单的问题以外,一般不用自然语言描述算法。用流程图表示算法(一)流程图是用一些图框表示各种操作。用图形表示算法,直观形象,易于理解。美国国家标准化协会ANSI(AmericanNationalStandardInstitute)规定了一些常用的流程图符号。其中菱形框的作用是对一个给定的条件进行判断,根据给定的条件是否成立来决定如何执行其后的操作。它有一个入口,两个出口。连接点(小圆圈)是用于将画在不同地方的流程线连接起来。图中有两个以○为标志的连接点(在连接点圈中写上“1”),它表示这两个点是互相连接在一起的。实际上它们是同一个点,只是画不下才分开来画。用连接点,可以避免流程线的交叉或过长,使流程图清晰。用流程图表示算法(二)判定闰年的算法用流程图表示传统流程图的弊端传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。因此,使用者可以不受限制

文档评论(0)

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

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

1亿VIP精品文档

相关文档