计算机基础第6程序设计基础.pptVIP

  1. 1、本文档共115页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例:抓交通肇事犯 一辆卡车违犯交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征: 甲说:牌照的前两位数字是相同的; 乙说:牌照的后两位数字是相同的,但与前两位不同; 丙是位数学家,说:四位的车号刚好是一个整数的平方。 请根据以上线索求出车号。 第六章 程序设计基础 问题分析与算法设计: 按照题目的要求造出一个前两位数(i)相同、后两位数(j)相同且相互间又不同的整数。 得到: (1)0 i = 9, 0 = j = 9 (2)i != j (3)1100 * i + 11 * j = m * m (m为整数=31) 使用穷举法,尝试i、j的所有可能。 第六章 程序设计基础 循环I取值从1到9 循环J取值从0到9 ①如果I不等于J 求车牌后四位: I*1000+I*100+J*10+J ②如果后四位开方是整数 输出后四位 ②结束 ①结束 循环J结束 循环I结束 第六章 程序设计基础 I+1 ?I I≤9 Y N 1 ? I 输出车号 J+1 ?b J≤9 Y N 0 ? J I?J Y N i*1000+i*100+j*10+j?k 开始 结束 √k ? Q Q=INT(Q) Y N 第六章 程序设计基础 二、二分法 第六章 程序设计基础 a b x1=(a+b)/2 x2 x* x3 x 用二分法方程的根 例 用二分法求 x3+4x-10=0 在(1,2)内的根,要求绝对误差不超过0.005。 解: f(1)=-50 有根区间 中点 f(2)=140 -(1,2)+ x1 =1.5 f(1.5)0 (1,1.5) x2 =1.25 f(1.25)0 (1.25,1.5) x3 =1.375 f(1.375)0 (1.25,1.375) x4≈1.313 f(1.313)0 (1.313,1.375) x5 =1.344 f(1.344)0 (1.344,1.375) x6≈1.360 f(1.360)0 (1.360,1.375) x7≈1.368 f(1.368)0 (1.360,1.368) x8 =1.364 第六章 程序设计基础 ⑴ 输入区间初值:a、b ⑵ 如果f(a)*f(b)0,则执行⑴ ⑶ 循环 ⑷ 求中点:(a+b)/2 ? y ⑸ 如果f(y)*f(a)0, ⑹ 则y ? a ⑺ 如果f(y)*f(b)0, ⑻ 则y ? b ⑼ 如果|a-b|0.005,执行⑾ ⑽ 循环结束 ⑾ 输出y 第六章 程序设计基础 由初始的已知条件,先计算出第(N-1)步的结果,再利用前面已知的(N-1)项结果,按照递推公式(或遵照递推规则),推出第N步结果。 递推法是程序设计中最常用的方法之一,使用递推法必须有明确的递推初始值和递推公式。 三、递推法 第六章 程序设计基础 例:求菲波那奇数列第N项的值。 数列递推通项公式为: U1 = U2 =1 Un = Un-1 + Un-2 (n=3) 即:1、1、2、3、5、8、13、21、… 根据递推通项公式,可用递推法编写程序,计算第N项的值。 第六章 程序设计基础 输入N 1 ? U1,1 ? U2 3 ? I U1 + U2 ? U U2 ? U1 U ? U2 I+1 ? I 输出U N 2 I = N 第六章 程序设计基础 递推算法求10的阶乘。 求解过程:0!= 1 1!= 1*0! 2!= 2*1!= 2 3!= 3*2!= 6 4!= 4*3! = 24 5!= 5*4! = 120 6!= 6*5! = 720 7!= 7*6! = 5040 8!= 8*7! = 40320 9!= 9*8! = 367880 10!= 10*9! = 3628800 1 ? I, 1 ? S I ≤

文档评论(0)

mei1809816wei + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档