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

〔2013级课堂用)算法案例.ppt

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

设计一个算法,把k进制数a(共有n位数)转化成十进制数b。 算法步骤: s1,输入a,b,n的值。 s2,赋值b=0,i=1。 s3,b=b+ai·ki-1,i=i+1。 s4,判断in是否成立。若是,则执行s5;否则,返回s3。 s5,输出b的值。 设计一个程序,实现“除k取余法” 步骤: s1,给定十进制正整数a和转化后的数的基数k。 s2,求出a除以k所得的商q,余数r。 s3,把得到的余数依次从右到左排列。 s4,若q=0则输出全部余数r排列得到的k进制数; 否则a=q,返回s2。 小结 进位制的概念及表示方法; 各种进位制之间的相互转化. 思考6:上述求多项式 f(x)=anxn+an-1xn-1+…+a1x+a0的值的方法称为秦九韶算法,利用该算法求f(x0)的值,一共需要多少次乘法运算,多少次加法运算? 思考7:在秦九韶算法中,记v0=an,那么第k步的算式是什么? vk=vk-1x+an-k (k=1,2,…,n) n次乘法运算, n次加法运算 知识探究(二):秦九韶算法的程序设计 思考1:用秦九韶算法求多项式的值,可以用什么逻辑结构来构造算法?其算法步骤如何设计? 第一步,输入多项式的次数n,最高次 项的系数an和x的值. 第二步,令v=an,i=n-1. 第三步,输入i次项的系数ai. 第四步,v=vx+ai,i=i-1. 第五步,判断i≥0是否成立.若是,则返回第 二步;否则,输出多项式的值v. 思考2:该算法的程序框图如何表示? 开始 输入n,an,x的值 v=an v=vx+ai 输入ai i≥0? i=n-1 i=i-1 结束 是 输出v 否 思考3:该程序框图对应的程序如何表述? 开始 输入n,an,x的值 v=an v=vx+ai 输入ai i≥0? i=n-1 i=i-1 结束 是 输出v 否 INPUT “n=”;n INPUT “an=”;a INPUT “x=”;x v=an i=n-1 WHILE i=0 INPUT “ai=”;b v=v*x+b i=i-1 WEND PRINT y END 理论迁移 例1 已知一个5次多项式为 用秦九韶算法求f(5)的值. f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8. v1=5×5+2=27; v2=27×5+3.5=138.5; v3=138.5×5-2.6=689.9; v4=689.9×5+1.7=3451.2; v5=3451.2×5-0.8=17255.2. 所以f(5)=17255.2. 【变式】例2 已知一个5次多项式为 用秦九韶算法求当x=5时,V1,V3的值及求f(5)的值 解:f(x)=((((5x+0)x+3.5)x+0)x+1.7)x-0.8. v1=5×5+0=25; v2=25×5+3.5=128.5; v3=128.5×5+0=642.5; v4=642.5×5+1.7=3214.2; v5=3214.2×5-0.8=16070.8. 所以v1=25, v3=642.5 ,f(5)=16070.8. 例3 阅读下列程序,说明它解决的实际问题是什么? INPUT “x=”;a n=0 y=0 WHLE n5 y=y+(n+1)*a∧n n=n+1 WEND PRINT y END 求多项式 在x=a时的值. 小结 评价一个算法好坏的一个重要标志是运算的次数,如果一个算法从理论上需要超出计算机允许范围内的运算次数,那么这样的算法就只能是一个理论算法.在多项式求值的各种算法中,秦九韶算法是一个优秀算法. 案例3 进位制 1.3 算法案例 【问题1】我们常见的数字都是十进制的,但是并不是生活中的每一种数字都是十进制的.比如时间和角度的单位用六十进位制, 计算机用的是二进制. 那么什么是进位制?不同的进位制之间又有什么联系呢? 进位制是人们为了计数和运算的方便而约定的一种记数系统。 约定满二进一,就是二进制;满十进一,就是十进制;满十六进一,就是十六进制;等等. “满几进一”,就是几进制, 几进制的基数就是几. 可使用数字符号的个数称为基数. 基数都是大于1的整数. 如二进制可使用的数字有0和1,基数是2; 十进制可使用的数字有0,1,2,…,8,9等十个数字,基数是10; 十六进制可使用的数字或符号有0~9等10个数字以及A

文档评论(0)

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

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

1亿VIP精品文档

相关文档