第三章算法(选择).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文档。上传文档
查看更多
第三章 程序设计基础 程序设计概述 著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:数据结构 + 算法 = 程序 程序是用计算机解决现实生活中的一个实际问题而编制的。设计、编制、调试程序的过程称为程序设计。编写程序所用的语言即为程序设计语言,它为程序设计提供了一定的语法和语义,所编写出的程序必须严格遵守它的语法规则,这样编写出来的程序才能被计算机所接受、运行,并产生预期的结果。 3.1.1 算法的概念 算法: 是指解决一个实际问题而采取的方法和步骤。对于同一个问题,可能有不同的方法和步骤,即有不同的算法。算法有优劣,一般而言,应当选择简单的、运算步骤少的,既运算快、内存开销小的算法(算法的时空效率)。 1、 简单算法举例 例1 :求1+2+3+4+......+100 可以有如下的几个算法: 算法1: (1)1+2=3; (2)3+3=6; (3)6+4=10; ...... (99)4950+100=5050。 例1 :求1+2+3+4+......+100 算法2: (1)0+100=100; (2)1+99=100; (3)2+98=100; …… (50)49+51=100; (51)100*50=5000; (52)5000+50=5050; 例1 :求1+2+3+4+......+100 算法3: (1)k=1,s=0; (2)如果k100则算法结束,s为所求的和,输出s;否则转向步骤(3); (3)s=s+k,k=k+1; (4)转向步骤(2); 对于上述三个算法,算法3质量最优。一般来说,为了有效地解题,不仅要保证算法正确,还要考虑算法的质量,选择合适的算法。 3.1.2 算法的特性 1、有穷性:一个算法应当包含有限的步骤,而不能是无限的步骤;同时一个算法应当在执行一定数量的步骤后,算法结束,不能死循环。 事实上“有穷性”往往指“在合理的范围之内”的有限步骤。如果让计算机执行一个历时1000年才结束的算法,算法尽管有穷,但超过了合理的限度,人们也不认为此算法是有用的。 ?2、确定性:算法中的每一个步骤都应当是确定的,不能使读者在理解时产生歧义。在任何条件下,对于相同的输入都应该得出相同的输出结果。 3、可行性 算法的每个步骤都应当能有效执行,并能得到确定的结果。例如:b=0,则执行a/b是不能有效执行的。 4、有0个或多个输入 所谓输入是指算法执行时从外界获取必要信息。一个算法可以有多个输入,也可以没有输入。 ?5、有1个或多个输出 算法的输出:算法得到的结果。算法必须有结果,没有结果的算法没有意义。(结果可以是显示在屏幕上的,也可以是将结果数据传递给程序的其它部分) 3.1.3 算法的常用表示方法 为了表示一个算法,可以用不同的方法。常用的算法表示方法: 自然语言,传统流程图,结构化流程图(N-S流程图),伪代码、计算机语言等。(重点:传统流程图,N-S流程图) 1) 用流程图表示算法 流程图是用图形的方式来表示算法,用一些几何图形来代表各种不同性质的操作。ANSI(美国国家标准化协会)规定的一些常用流程图符号(如下图)也比较流行。 流程图:用一些约定的几何图形来描述算法。用某种图框表示某种操作,用箭头表示算法流程. 流程图(的符号及意义)美国标准化协会ANSI规定了一些常用的流程图符号,已为世界各国程序工作者普遍采用. 处理框:表示算法的某个处理步骤,一般内部常常填写赋值操作。 连接点:用于将画在不同地方的流程线连接起来。同一个编号的点是相互连接在一起的,实际上同一编号的点是同一个点,只是画不下才分开画。使用连接点,还可以避免流程线的交叉或过长,使流程图更加清晰。 结构化程序设计的3中基本结构:顺序结构、选择结构和循环结构有以下几个共同特点: (1)只有一个入口:不得从结构外随意转入结构中某点。 (2)只有一个出口:不得从结构内某个位置随意跳出。 (3)结构中的每一部分都有机会被执行到。 (4)结构内不存在“死循环”(无终止的循环) 已经证明:由三种基本结构顺序组成的算法结构,可以解决任何复杂问题。下面介绍用流程图表示三种结构。 (1)顺序结构 按语句的书写顺序执行 (2)选择结构 (3)循环结构 循环又分“当型循环”和“直到型循环” 3.2 C语句概述 3.2 C语句概述 C语言可以分为以下6类: (1)声明语句:声明语句用来定义变量的数据类型。声明语句一般放在函数的声明部分。 例如: int i,j; /*说明i,j是整型变量*/ (2)函数调用语句。由一次函数调用加一个分号构成一个语句。例如:printf(“This is a C stat

文档评论(0)

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

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

1亿VIP精品文档

相关文档