Python第四章流程控制.ppt

课堂练习二: 课堂练习二 * * 五、综合实例 1、求任意非负数的平方根。没有精确算法,常用的近似算法有: 穷举法 二分法 牛顿—拉夫逊算法 * * 穷举法: 取较小的步长生成猜测值(顺序地); 检查是否足够接近结果。 反复执行上述步骤。 * * * * 执行结果: * * 在穷举法中,步长可以取任意小数值,但是: 如果步长太小了,程序执行会花较长时间 如果步长太大了,可能会跳过最近似的答案 还有更有效的方法。 二分法: 根据数学定义,x的平方根位于0—x之间。 尽管在穷举法中,我们从0开始进行猜测,但实际上可以取这个范围的中间值。 如果幸运,这个答案即最近似的结果。 * * * * 如果猜测值不足够近似,太大或太小怎么办? 如果g**2x,则g太大,现在应查找: 如果新的g,例如g**2x,则g太小了,应查找: 每次减少值的范围的一半。 * * 执行结果: 关于二分法算法的说明: 二分查找算法从根本上减少了计算时间; 二分查找算法必须用于有序的数据。 * * 牛顿—拉夫逊算法: 通常,求一个变量多项式的根的近似算法为: 求r使得p(r)=0 例如,求24的平方根,即求p(x)=x2-24的根,则牛顿近似公式为: 具体到本例,近似公式为:g-(g2-24)/2g * * * * 执行结果: 2、编写猜秘密数的程序 由用户想一个0—100之间

文档评论(0)

1亿VIP精品文档

相关文档