网站大量收购独家精品文档,联系QQ:2885784924

c 第二章 程序的灵魂—算法1.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c 第二章 程序的灵魂—算法1.ppt

第二章 程序的灵魂—算法 一、算法的概念 二、算法的简单举例 三、算法的特性 四、怎样表示一个算法 五、结构化程序设计 一、算法的概念 程序=数据结构+算法 程序=算法+数据结构+程序设计方法+语言工具和环境 算法:为了解决一个问题而采取的方法和步骤。 2.2简单算法举例 例2.1 求1×2 ×3 ×4 ×5 算法: s1:使p=1; s2: 使i=2; s3: 使p ×i ,乘积放在变量p中,表示p=p × i; s4: 使i的值加1,即i+1 i; s5: 如果不大于5,返回重新执行步骤s3和s5;否则算法结束。 p=120 题目:1×3 ×5 ×7 ×9 ×11 算法: s1:1 p s2:3 i s3:p× i p s4:i+2 i s5:若i≤11,返回s3;否则,结束。 例2.2 有50个学生,要求将他们之中成绩在80分以上者打印出来  用表示学生学号,ni代表第i个学生,g代表学生成绩,gi代表第i个学生成绩; 算法: s1:1  i; s2:如果gi≥80,则打印ni和gi,否则不打印 s3:i+1  i; s4:如果i≤50,返回s2,继续执行;否则,算法结束。 例2.3 判断2000-2500年中的闰年,将结果输出 判断闰年的条件: 1、能被4整除,但不能被100整除; 2、能被100整除,又能被400整除; s1:2000  y; s2:如果y不能被4整除,则输出y “不是闰年”转到s6 ; s3:若y能被4整除,不能被100整除,则输出y “是闰年”,然后转到s6. s4:若y能被100整除,又能被400整除,则输出y “是闰年”,然后转到s6. s5:输出“不是闰年”; s6:y+1 y; s7:当y≤2500时,转到s2继续执行,如果y≥2500时,算法结束。 例2.4 求1-1/2+1/3-1/4+…+1/99-1/100 算法分析: 1、符号变化规律   sign=(-1) ×sign 2、分母变化规律    deno=deno+1 3、每一项   term=sign ×(1/deno) 4、求和    sum=sum+term 5、起始值和终止值 算法 s1:sign=1 s2:deno=2 s3:sum=1 s4:sign=(-1) ×sign s5:term=sign ×(1/deno) s6:sum=sum+term s7:deno=deno+1 s8:若deno≤100返回s4;否则算法结束。 例2.5 对于一个大于或等于3的正整数,判断它是不是一个素数。 算法: s1:输入n的值; s2:i=2; s3:n被i除,得余数r; s4:如果r=0,表示n能被i整除,则打印n “不是素数” ,算法结束;否则执行s5; s5:i+1 i; s6:如果i≤n-1,返回s3;否则打印n“是素数”,然后结束。 2.3 算法的特性 1、有穷性; 2、确定性; 3、有零个或多个输入; 4、有一个或多个输出; 5、有效性; 2.4 怎样表示一个算法 一、用自然语言表示 二、用流程图表示 三、用N-S图表示 四、用伪代码表示 2.4.2 用流程图表示算法 流程图是用各种框图表示各种操作。 例2.6 将例2.1求5!的算法用流程图表示,流程图为: 例2.7 将例2.2的算法用流程图表示 例2.10 将例2.5判断素数的算法用流程图表示 2 三种基本结构 直到型循环 只有一个入口; 只有一个出口; 注意:菱形框有2个出口,选择结构的出口只有一个; 结构内的每一部分都有机会被执行到; 结构内不存在“死循环”; 基本结构 2.4.4 用N-S流程图表示算法 例2.11 求5!算法的N-S图表示 例2.12 求50名学生中成绩高于80分的学号和成绩打印出来的算法的N-S图表示 例2.13 将判断闰年的算法用N-S图表示 例2.14 求例2.4的算法的N-S图 例2.15 求例2.5判断素数的算法的N-S图 2.4.5 用伪代码表示算法 1、打印x的绝对值的算法 IF x is positive THEN print x ELSE print -x 图 2.24 A B 图 2.28 p ≥100 成立 不成立 r =0.08 r =0.06 当n ≤10 p×(1+r) = p A B A本身是一个分支结构,B是一个循环结构 1=i 图 2.30 g i≥80 是 否 打印n i g i i +1 = i 直到 i 50 图 2.29 i=2 t=1 t=t×i i=i+1 直到i>5 打印t i=1 图 2.31 直到i>50 i=i+1 i=i+1 i=1 直到i>50

文档评论(0)

zhoujiahao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档