- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C程序设计 谭浩强》第2章_算法
第二章 本章要点 算法的概念 算法的表示 结构化程序设计方法 主要内容 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法 2.1 算法的概念 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 算法的表示 2.4.1 用自然语言表示算法 2.4.2 用流程图表示算法 小结: 流程图是表示算法的较好的工具。一个流程图包括以下几部分 : (1)表示相应操作的框; (2)带箭头的流程线; (3)框内外必要的文字说明。 2.4.3 三种基本结构和改进的流程图 小结: 由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。 扩展: 只要具有上述四个特点的都可以作为基本结构。可以自己定义基本结构,并由这些基本结构组成结构化程序。 2.4.4 用N-S流程图表示算法 N-S图表示算法的优点 比文字描述直观、形象、 易于理解;比传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,N--S流程图中的上下顺序就是执行时的顺序。用N--S图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。 小结: 一个结构化的算法是由一些基本结构顺序组成的。在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围之内(如循环中流程的跳转);一 个非结构化的算法可以用一个等价的结构化算法代替,其功能不变 。如果一个算法不能分解为若干个基本结构,则它必然不是一个结构化的算法。 2.4.5 用伪代码表示算法 2.4.6 用计算机语言表示算法 2.5 结构化程序设计方法 (1) 先将1挖掉(因为1不是素数)。 (2) 用2去除它后面的各个数,把能被2整除的数挖掉,即把2的倍数挖掉。 (3) 用3去除它后面各数,把3的倍数挖掉。 (4) 分别用4、5…各数作为除数去除这些数以后的各数。这个过程一直进行到在除数后面的数已全被挖掉为止。例如在图2.37中找1~50的素数,要一直进行到除数为47为止。(事实上,可以简化,如果需要找1~n范围内素数表,只需进行到除数为n开方(取其整数) 即可。例如对1~50,只需进行到将7(50开方)作为除数即可。) 上面的算法可表示为: (1) 挖去1; (2) 用下一个未被挖去的数p去除p后面各数,把p的倍数挖掉; (3) 检查p是否小于n的整数部分(如果n=1000,则检查p<31?) ,如果是,则返回(2) 继续执行,否则就结束; (4) 纸上剩下的数就是素数。 解题的基本思路有了,但要变成计算机的操作,还要做进一步的分析,如怎样判断一个数是否已被“挖掉”,怎样找出某一个数p的倍数,怎样打印出未被挖掉的数。 用自顶向下逐步细化的方法来处理这个问题,先进行“顶层设计”,见图2.38。也可以用流程图进行逐步细化。流程图2.39表示流程的粗略情况,把要做的三部分工作分别用A、B、C表示。 图2.38 图2.39 三种基本结构的图示: 顺序结构 选择结构 循环结构的图示: 当型(While型)循环结构 直到型(Until型)循环 三种基本结构的共同特点: (1)只有一个入口。 (2)只有一个出口。(请注意:一个菱形判断框有两个出口,而一个选择结构只有一个出口。不要将菱形框的出口和选择结构的出口混淆。) (3)结构内的每一部分都有机会被执行到。 (4)结构内不存在“死循环”(无终止的循环)。 图中没有一条从入口到出口的路径通过A框 不正确的流程表示: 流程内的死循环 此图符合基本结构的特点 这是一个多分支选择结构,根据表达式的值决定执行路线。虚线框内的结构是一个入口一个出口,并且有上述全部的四个特点。由此构成的算法结构也是结构化的算法。可以认为这是由三种基本结构所派生出来的。 1973年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其它的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图又称N--S结构化流程图。 N-S流程图用以下的流程图符号: (1)顺序结构 (2)选择结构 (3)循环结构 用三种N-S流程图中的基本框,可以组成复杂的N-S流程图。图中的A框或B框,可以是一个简单的操作,
有哪些信誉好的足球投注网站
文档评论(0)