C++编程《第13课 高精度乘法》教学设计.docxVIP

  • 0
  • 0
  • 约2.79千字
  • 约 5页
  • 2026-03-10 发布于广西
  • 举报

C++编程《第13课 高精度乘法》教学设计.docx

PAGE

PAGE1

高精度乘法

教学目标

1.知识与技能

学会高精度乘法的基本使用

学会利用高精度乘法解决各种常见问题.

2.过程与方法:

学习流程:讲授——模仿——练习

通过课堂练习,巩固课堂内容。

教学重点、难点

【重点】

高精度乘法竖式计算的规律

高精度乘法算法原理

【难点】

高精度乘法灵活使用

压位运算

课时安排

课时安排:120分钟

四、上课准备

课程相关ppt、白板、白板笔、积分卡

课前检查电脑、投影仪、网络是否有故障,及时修复。

五、教学活动

活动时长

教学活动

注意事项

课前准备

老师准备学生电脑,保证电脑能正常使用;打开投影仪,打开上课课件,以最饱满的热情迎接学生!

提前10分钟准备

开场白

欢迎各位同学回到吉码信息学课堂。

引入

前面我们学习了高精度的加减法,今天我们继续学习高精度的乘法。至于除法,因为算法描述复杂,代码很长,效率较低,在考试中几乎未出现过。所以,留作同学们课后自己去研究和开发,课堂上就不讲了,其实高精度除法的原理和竖式原理一样,只不过运算顺序从高位开始,就需要逆序转存了。言归正传,我们还是先学乘法。

学习内容(1)

ppt5一个“高精度”乘法竖式计算的手工模拟

在白板上演示,注意进位的处理演示清楚。

【提问】答案的位数能否由两个乘数的位数决定?

【回答】大致可以,但不能完全确定。但我们能够确定答案位数的最大值。

我们设两个乘数为a和b,b是一个n位数,a是一个m位数。

b<=99...999(即n个9)<10^n

所以a*b<a*10^n(乘以10的n次方,相当于在后面添n个0,位数增加n)

于是我们可以确定a*b的位数不超过a和b的位数之和。

ppt6观察高精度乘法的规律

【提问】看图,我们把最后一行看做答案,能否找到ai*bj最终累加到答案的什么位置?

留一定的时间给学生观察,期间可以给予一定的提示。比如a1*b1计算后,累加到c数组的哪个位置?

【回答】c的i+j-1的位置。

那么,如果a是一个m位数,b是一个n位数,那么最后一次乘法累加到c的m+n-1位置。能否说答案的位数是m+n-1位?

【回答】不能。因为最高位可能会有进位,那么最高位进位以后就是m+n位。

【追问】会不会变为m+n+1或更多?

【回答】不会。因为两个个位数相乘,最大是81,进位最大是8.不会进两个数位。

两个高精度数相乘,正常情况下,最高位进位是8。但有一种情况下例外,那就是进行高精度数乘以普通整数的计算时,ppt6的bi可以不是一位数,它可以是任意的整数,只要计算过程不溢出即可,这时候,如果bi=10000,那么结果的最高位进位就可能会非常多。举个例子:

用竖式计算111*123,把前面的数字当成高精度数,后面的123当成普通精度数字,把123看做一位数进行计算。

1 1 1

*(123)

136(进位13)5(进位13)3(进位12)

最高位进位13,答案是13653。这个答案其实和把123当成三位数计算是一致的。但这时候,最高位进位就是两位了,答案位数为3+1-1+(进位的2位)=5位。

其实这种计算方式就是“压位”。高精度*普通整数,是“压位”的一种特殊形式,把普通整数压成“一位数”了。我们再看看ppt7,再看一个压位运算的例子。

ppt8竖式计算乘法

言归正传,上面我们把竖式计算乘法的规律研究了一下,而且推广为了高精度数*普通整数的情况,验证了竖式计算的广泛适用。最终得到的规律是:

c[i+j-1]+=a[i]*b[j]+x+c[i+j-1];//x为上一次计算的进位。

【提问】为什么上面的式子,左边用+=符号,而不直接用等号赋值。

【回答】因为乘法计算要经过很多轮乘法,每轮结果都要累加的。这里的“一轮”乘法,代表a的每一个数位与b的一个数位bi都做相乘的运算,结果累加到c中。

ppt9大整数乘法

进位处理:我们处理进位可以把进位直接累加到c数组对应的位置上,也可以每一轮运算时用专门的变量存储进位来处理。二种方式各有其方便之处。如果是高精度*普通精度,我们必须用专门的变量存储进位,这样能实现原地存储结果。后面再举例说明。

ppt10、11,逐行讲解程序。

重点和难点:进位变量的初始化处理:“每一轮运算的开头”进行初始化。因为在“一轮”运算内,进位的变量是可以复用的。但“不同轮次”之间的进位不能重复使用。

“一轮”计算的结果最高位进位一定要及时处理,否则信息丢失。

c[i+a[0]-1+1]=jw;//没有压位;

如果有压位,则需要保证压位后计算不发生溢出,其他照旧。

学习内容(2)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档