第二章 程序的灵魂-----算法.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文档。上传文档
查看更多
福建师范大学软件基地 1 * C程序设计—谭浩强 第二章 程序的灵魂---算法 2.1 算法的概念 算法:为解决一个问题的精确描述; Nikiklaus Wirth : 数据结构+算法=程序; 例1:设有两个杯子A和B,分别盛放酒和醋,要求将它们互换。 S1:C ← A S2:A ← B S3:B ← C 2.1 简单算法举例 S1:i=1, 令max等于第一个数; S2:i=i+1; S3:将max与第 i 个数进行比较,若前者小于后者,将修正max为第 i 个数;否则进行S4; S4:判断 i 是否大于10,若否转S2,否则转S5; S5:结束 例2 从10个数中挑出最大数,并将之置入max。 算法举例 例3:求n! S1:s ← 1,t ←1; S2:s ← s * t; S3:t ← t+1; S4:若 t 小于等于n,则返S2,否则结束。 例4:求100以内的所有素数。 S1:将2到100的自然数放入a[2]至a[100]中; S2:找一个最小的数 → newp,newp的初始值为2; S3:删去所有newp的倍数; S4:重复S2、S3,直至newp100/2; S5:输出剩余的数,结束。 (1)有穷性; (2)确定性; (3)有零个或多个输入; (4)有一个或多个输出; (5)有效性; 2.3 算法的特征 §2.4 怎样表示一个算法 1、用自然语言表示算法 ⊕通俗易懂,但易出现“歧义性”。 2、用流程图表示算法 ⊕直观形象,易于理解。 开始 1 ? p 2 ? i p*i ? p i+1 ? i i 5? 结束 N Y Bobm和Jacopini提出:程序只有三种基本结构 ⊕顺序结构 ⊕选择结构 ⊕循环结构 A B p A B Y N p A Y N 程序设计的基本结构 当型循环结构 直到型循环结构 p A Y N 三种结构的特点: 只有一个入口,一个出口; 每一部分都有有机会被执行到; 结构内不存在死循环。 p A Y N 三种循环的结构特点 3. N-S图表示法: 比传统流程图紧凑易画,它废除了流程线。 用N-S图表示的算法都是结构化的算法。 所有的解题过程画在一个矩形框内。 用N-S图表示程序的三种基本元素框如下: 用N-S图表示算法 输入b, max=b n=0 输入b maxb? T F max=b n=n+1 当n小于等于9 输出max 例如:从十个数中挑出最大 数的N-S结构图如左: 例:求5!的N-S图如下: 1 ? p 2 ?i p*i ?p i+1 ?i 当 i=5 打印p 4、用伪代码表示算法 例:求5! 。 算法:开始 置p的初值为1 置i的初值为2 当i =5,执行下面操作: 使p=p*i 使i=i+1 打印p的值 结束 也可以写成如下形式: BEGIN(算法开始) 1 ?p 2 ?i while i=5 { p*i ?p i+1 ?i } print p END(算法结束) 例:打印2000-2500年中的每一年是否闰年 BEGIN (算法开始) 2000 ?y while y=2500 { if y 被4整除 if y 不被100整除 print y; ”是闰年” else

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档