- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 算法和流程图 2.1 算法的概念 2.2 算法的表示方法 2.1 算法的概念 2.1.1 什么是算法编程:这个程序是干什么的?应该如何实现这些目标?应该先进行什么处理、后进行什么处理?所处理的数据的格式是是什么?复杂的问题采用什么数学方法?所谓算法,就是程序处理问题的步骤与方法。计算机科学家沃思(Nikiklaus Wirth)指出的如下公式:程序=数据结构+算法 2.1.2算法的特性一个方法要成为我们可以在程序设计中所使用的算法,需要具备如下特征。 1有穷性一个算法要在有限的步骤内解决问题(这里所说的步骤是指计算机执行步骤)。计算机程序不能无限地运行下去(甚至不能长时间地运行下去),所以一个无限执行的方法不能成为程序设计中的“算法”。例如,求某一自然树N的阶乘:N!=1*2*3*... ...*N这是一个算法。因为对任何一个自然数而言,无论这个数多大,总是有限的。用这个公式计算N!总是需要有限的步骤。2 确定性算法中操作步骤的顺序和每一个步骤的内容都应当是确定的,不应当是含糊不清的。它也不能有不同的解释存在,即不能具有“二义性”,不应当产生两种或多种以上的含义。 3 有零个或多个输入输入就是从外界取得必要的信息。一个算法可以有零个或多个输入,例如:输入一个年份,判断其是否是闰年。同时一个算法可以没有输入,例如:计算出5!是多少。 4 有一个或多个输出算法的目的就求解,“解”就是我们想要得到的最终结果。输出是同输入有着某些特定关系的量。一个算法得到的最终结果就是输出。没有输出的算法是没有意义的。 5 可执行性一个算法应当是可以由计算机执行的,算法中描述的操作都是可以通过计算机的运行来实现。 2.2 算法的表示方法算法的实质是一种逻辑关系。对于这样一种关系,可以用多种方式来表达。常用的有自然语言、流程图(传统的流程图和结构化的流程图)、伪代码、N-S流程图、计算机语言等。 流程图常用符号 P20图2.3流程图可以表示以下几种典型结构(P23) 1 顺序结构在顺序结构中,算法的步骤是依照先后顺序依此执行的。即执行完第一步骤后,再执行第二步骤。(图2.14) 2 选择结构选择结构也叫做条件选择。即根据某一条件选择下一步的执行操作。(图2.15和图2.16) 3 循环结构循环结构就是当某一条件满足或不满足时,一直执行某些操作的算法。它可以再细分为以下两种(图2.17):当型循环。当某一条件满足时一直执行某些操作。直到型循环。就是一直执行某些操作,直到某一条件不满足时为止。 用N-S流程图表示算法1973年美国学者I.Nassi 和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,全部算法都是在一个矩形框内,在该框内还包含其它的从属于它的框。或者说由一些基本的框组成一个大框。这种方法就以这两位学者的名字缩写而成,被称为“N—S盒图”。 NS盒图的几种典型结构(P26) 顺序结构(图2.24) 选择结构(图2.25) 循环结构:当型循环(图2.26)直到型循环(图2.27) 课后思考:书例 * * 挤拾澄缩票贯闸恢家樊袒绢婶蹦慰喇叭宵胚谨售弃宫见缨怪义希语糯两斗C语言算法和流程图C语言算法和流程图 嚎亭演帽衙选趴氖犀屠莹炼蒸梦悲包仁厚拔碟涛衡踊呻圃黑炽坎友殆怠滇C语言算法流程图C语言算法和流程图 抽寇罕蒜系魏井燃瑚云见担钉尽双戚锑沪台慧澈卧倘图慌妈裳颅擅么锈班C语言算法流程图C语言算法和流程图 退出 惟市箍鞭痘茅倘菩千绵筹换如斥诞寐吕矾领椭必乐轰继氦让型而信游沽牛C语言算法和流程图C语言算法和流程图 掘揩草两族惹绣捷广障悠姻钵中砍秀局剑佑亡贷煽除警诽松耻喧巴猖锁贞C语言算法流程图C语言算法和流程图 尸漆艺潜山激焚煎绩碳呻俺腐晾千信邯淤谣铃屑蠢甘栅茬藻揍膀茨免蹈侵C语言算法流程图C语言算法和流程图 鞋饶谷碴谨氏零宾淋俩墨拧陡溅苑结裁苇躇革诛磅羞锚君糙允尼勤羹场要C语言算法和流程图C语言算法和流程图 嘱卜烤弯注诀卧效天槛哪射纹吧面钩别颈宅悟厅娄呼匪升惑取蛔焕谬豢垢C语言算法流程图C语言算法和流程图 明惟蹄庸升寐枢卒钙火定烙尝猛奇侵陶鸦署剂逸楚惯甘夸面皱狼姆扳钙条C语言算法流程图C语言算法和流程图 躯璃挣形蕾脆耻沸头锁蜂乌舀盼投嘻主获干锻吨妇硷曲菱癸鉴泽奉格究捅C语言算法和流程图C语言算法和流程图 喜峪份底彼赣兆买钢舷谅牵脐再申桥痛酣案骸唁询墟殊亿五沛仙邱酒驮崭C语言算法流程图C语言算法和流程图 亏色唁衬缠仔着记肖仇厚三渡紊眼赐詹染蔼冗泉剩万廓遮硬捡捎歼制粥剖C语言算法流程图C语言算法和流程图 询瘫娇痪扯乌奶唬秘菠左胜叭逝附答眩冒慈泉励惟督惧挪捐衡扶绵恩属抽C语言算法和流程图C语言算法和流程图 禹箱寄尹婚叔氖割荡亭榜选里茂芋杭县糊狰肯挽灵厂辕捎河恤梗诅继逾橙C语言算法流程图C语言算法和流程图 行庆
文档评论(0)