- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?教学要求 掌握竖式乘除模拟设计要领并应用解决多位整数与指定精度的小数等高精度计算案例 掌握应用随机函数模拟设计求解自然界的随机现象 ?本章重点 根据案例的实际选择与确定模拟量 模拟自然界的随机现象与特定条件下的操作过程,可解决一些人工操作力所不及的疑难问题。 根据模拟对象的不同特点,计算机模拟可分为决定性模拟与随机性模拟。 决定性模拟是对决定性过程进行的模拟,其模拟的事件按其固有的规律发生发展,最终得出一个明确的结果。 例如,乘除竖式计算模拟就是决定性模拟,应用模拟整数的竖式乘除计算可快捷求解一些高精度计算问题,结果是确定的。 随机性模拟的对象是随机事件,其变化过程相当复杂。随机模拟要利用计算机语言提供的随机函数,设定某一范围内的随机值,并将这些随机值作为参数实施模拟。 例如数字模拟(又称数字仿真),可进行一些疑难定积分的近似计算。 8.1 竖式乘除模拟 竖式乘除模拟是按整数的四则运算法则进行模拟操作,最后得出运算的结果。 竖式乘除模拟,主要是模拟整数逐位乘或除的竖式计算过程,求解一些整数计算与判定问题。 在实施乘除竖式计算模拟之前,必须根据参与运算整数的实际设置模拟量,以模拟乘除竖式计算进程中数值的变化,并判定运算是否结束。 8.1.1 竖式除模拟 8.1.2 竖式乘模拟 第8章 作业 习题8: 1, 2, 3, 4, 5,6 1. 应用竖式模拟注意点 注意联系案例的具体实际设置被除数、除数与商等模拟量。试商过程中被除数的确立比较灵活。 (1) 在“积为若干个1”求解时,被除数为:a=c*10+1;(因为每一位均为1)。 (2) 在“积为若干个‘2011’”的求解时,被除数变为:a=c*10000+2011。 (3) 在“积为任意指定构成”的求解时,被除数变为:a=c*10+d(j);其中d(j)为某一位数。 (4) 在“尾数前移“的求解时,被除数又变为:a=c*10+b;其中b为上一轮试商的商。 2. 应用随机函数模拟注意点 要注意随机函数发生器的初始化,以避免雷同之外,也要注意联系问题的具体实际,控制随机数的范围。 例如,在模拟发扑克牌时,x代表4花色,y代表每色的13点,应用 x=rand()%4+1; y=rand()%13+2; 来实现是适合的。rand()%4的值为0,1,2,3,则rand()%4+1的值为1,2,3,4,共4 个,代表4花色。rand()%13的值为0,1,…12, 则y=rand()%13+2的值为2,3,…14,共13个,分别代表13个点数(其中14为“A”点)。 第8章上机 (1) 上机通过本章乘数探求 、尾数前移 、圆周率 ? 的高精度计算与泊松分酒等典型案例; (2) 上机通过习题8-1,8-2,8-3; (3) 分组讨论并上机通过阶乘幂与排列组合数的计算与模拟发桥牌案例。 返回 * * 第 8 章 模拟算法 设竖式除过程中被除数为a,除数为p,试商所得的商为b=a/p,所得余数为c=a%p。 实施模拟,可根据问题的具体实际确定终止运算的循环条件。竖式除模拟框架描述: 输入原始数据;确定初始量; while(循环条件) { a=c*t+m; // 构造被除数a b=a/p; // 实施除运算,计算商b printf(b); c=a%p; // 试商得余数c } 通常设w数组表示乘运算的一个乘数,也表示该数乘以p(另一个乘数)的积:w(1)表示个位数,w(2)为十位数,…。 实施竖式乘模拟必须考虑进位。设进位数为m并赋初值,显然,乘数的第k位数w(k)乘以另一个乘数p的结果为a=w(k)*p+m,然后把所得到的乘积a的个位数存储为积的第k位数:w(k)=a%10;而a的十位及以上的值做为下轮运算的进位数:m=a/10。 w数组(一个乘数)与进位数m的初值、乘运算的结束条件由所求问题的具体实际确定,通常使乘运算达到某一特定值或达到某一规定位数后结束。 竖式乘模拟框架描述: 输入原始数据 确定初始量 while(循环条件) { k=k+1; ?a=w(k)*p+m; // 计算乘积a,m为进位数 ?w(k)=a%10; // 乘积a的个位存储到w(k) ?m=a/10; // 乘积a的十位以上作为下轮的进位数 } 输出(w(d:1)); // 从高位到低位输出乘积 两位计算机爱好者A、B在老师C的指导下进行乘数探求: A: 请你任给定一个正整数p(约整数p为个位数字不是5的奇数),我可寻求
文档评论(0)