- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 Java语言的流程控制
第3章 Java语言的流程控制 3.1【案例8】星座与幸运花 3.2【案例9】求2!+4!+…+10!的值 3.3【案例10】解古代算术题 3.1【案例8】星座与幸运花 1.什么是算法 对于计算机编程语言来说,算法是用于求解某个特定问题的一些指令的集合。具体地说,用计算机所能实现的操作或指令,来描述问题的求解过程,就得到了这一特定问题的计算机算法。 一般来说,所谓算法是指解决一个特定问题采用的特定的、有限的方法和步骤。利用计算机来解决问题需要编写程序,在编写程序前要对问题进行充分的分析,设计解题的步骤与方法,也就是设计算法。没有算法,编程者对要解决的问题就无从下手。有了算法,才有可能设计程序,最终让计算机执行程序,完成所要求的任务。算法的好坏,决定了程序的优劣,因此,算法的设计是设计过程的核心任务之一。 一个算法的功能不仅与选用的操作命令有关,而且与这些操作命令之间的执行顺序有关。算法的控制结构给出了算法的执行框架,它决定了算法中各种操作命令的执行次序。博姆(Bohm)和雅可比维(Jacopini)两位学者于1966年提出算法有3种控制结构:顺序结构、选择结构和循环结构。这3种基本结构都具有只有一个入口和一个出口的特点,不会出现死循环。对于Java语言来说,一个程序通常可以相应地分为输入、处理和输出3个部分。 (1)顺序结构是一种线性结构,也是设计过程中最简单、最常用的基本结构。顺序结构程序是把计算机要执行的各种操作命令依次排列起来。程序运行后,便从左至右、从上向下地顺序执行这些命令语句(在一个语句行中,从左至右顺序执行各条语句),直至执行完所有语句或者执行到终止程序的语句。 (2)选择结构是一种常用的控制结构,是计算机科学用来描述自然界和社会生活中分支现象的重要手段。在实际工作中,常常需要根据某个条件是否成立,来决定下一步应做什么工作。编写程序让计算机工作,同样存在这种情况。在选择结构中,程序不再按照行号的顺序来执行各行的语句,而是根据给定的条件来决定选取哪条路径,执行哪些语句。选择结构的特点是在各种可能的操作分支中,根据所给定的选择条件是否成立,来决定选择执行某一分支的相应操作。并且任何情况下均有“无论分支多少,仅选其一”的特性。在Java语言中,可以采用if语句和switch语句来实现程序的选择结构。 (3)循环结构是算法中需要反复执行某组操作的命令。循环控制就是指由特定的条件决定某些语句重复执行多次的控制方式。它具有封闭型的单入单出性质,也就是说进入循环结构后,只要循环条件未达到结束状态,就始终执行循环体内的操作。在Java语言中,可以采用while语句和for语句来实现程序的选择结构。 2.算法的描述方法 算法有许多描述方法,例如,使用日常语言描述解决问题的步骤与方法的自然语言法。这种描述方法通俗易懂,但比较烦琐,且对条件转向等的描述欠直观。针对自然语言法描述的缺点,又产生了流程图、N-S图和PAD图等方法。 下面介绍3种在计算机算法中常用的描述方法。 (1)流程图:流程图也称为框图,它是用各种几何图形、流程线及文字说明来描述算法的框图。用流程图表示算法的优点是:用图形来表示流程,直观形象,各种操作一目了然,不会产生“歧义性”,流程清晰。但缺点是:流程图所占面积大,而且由于允许使用流程线,使流程任意转移,容易使人弄不清流程的思路。表3-1-1所示为用传统流程图描述算法时常用的符号。 用流程图描述程序的3种基本结构如图3-1-2所示。其中循环结构有两种形式:当型循环和直到型循环。当型循环是先进行判断,再执行循环体内的操作。直到型循环是先执行循环体内的操作,再进行判断。如果采用直到型循环结构,则不论条件是否成立,循环体内的操作都会至少被执行一次。 下面举例说明如何使用流程图描述判断某年是否为闰年的算法。判断某年是否为闰年的方法是:如果某年能被4整除,但不能被100整除,或者能被400整除,则该年为闰年。该算法的流程图如图3-1-3所示。 (2)N-S图:N-S结构化流程图的主要特点是取消了流程线,即不允许流程任意转移,而只能从上到下顺序进行,从而使程序结构化。它规定了3种基本结构作为构造算法的基本单元,如图3-1-4所示。 图中的A和B分别代表某些操作,例如,数据赋值、数据的输入或输出等,也可以是3种基本控制结构中的某一种。顺序结构是最简单的一种结构,先执行A然后再执行B。选择结构则根据条件是否满足条件决定执行A或B。循环结构中的“直到型循环”,是先执行一次A,然后检查条件是否满足,如不满足则再执行一次A,直到某一次在执行完A后条件满足为止。循环结构中的“当型循环”,是先检查给定的循环条件是否满足,若满足则执行A,然后再检查一次条件是否满足,直到某一次条件不满足为止。 N-S
文档评论(0)