m=n
n=x
ENDIF
r=mMODn
WHILEr<>0
r=mMODn
m=n
n=r
WEND
PRINTm
END
5.课堂练习
一.用辗转相除法求下列各组数的最大公约数,并在自己编写的BASIC程序中验证。
(1)225;135
(2)98;196(3)72;168(4)153;119
二.思考:
用求质因数的方法可否求上述4组数的最大公约数?
可否利用求质因数的算法设计出程序框图及程序?
若能,在电脑上测试自己的程序;若不能说明无法实现的理由。
三。
思考:
利用辗转相除法是否可以求两数的最大公倍数?
试设计程序框图并转换成程序在BASIC中实现。
6.小结:
辗转相除法与更相减损术求最大公约数的计算方法及完整算法程序的编写。
(5)评价设计
作业:
P38A
(1)B
(2)
补充:
设计更相减损术求最大公约数的程序框图
第三、四课时秦九韶算法与排序
(1)教学目标
(a)知识与技能
1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。
(b)过程与方法
模仿秦九韶计算方法,体会古人计算构思的巧妙。
能根据排序法中的直接插入排序法与冒泡排序法的步骤,了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。
(c)情态与价值
通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。
通过对排序法的学习,领会数学计算与计算机计算的区别,充分认识信息技术对数学的促进。
(2)教学重难点
重点:
1.秦九韶算法的特点
2.两种排序法的排序步骤及计算机程序设计
难点:
1.秦九韶算法的先进性理解
2.排序法的计算机程序设计
(3)学法与教学用具
学法:
1.探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的计算。
2.模仿排序法中数字排序的步骤,理解计算机计算的一般步骤,领会数学计算在计算机上实施的要求。
教学用具:
电脑,计算器,图形计算器
(4)教学设想
(一)创设情景,揭示课题
我们已经学过了多项式的计算,下面我们计算一下多项式
当
时的值,并统计所做的计算的种类及计算次数。
根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。
我们把多项式变形为:
再统计一下计算当
时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。
显然少了6次乘法运算。
这种算法就叫秦九韶算法。
(二)研探新知
1.秦九韶计算多项式的方法
例1已知一个5次多项式为
用秦九韶算法求这个多项式当
时的值。
解:
略
思考:
(1)例1计算时需要多少次乘法计算?
多少次加法计算?
(2)在利用秦九韶算法计算n次多项式当
时需要多少次乘法计算和多少次加法计算?
练习:
利用秦九韶算法计算
当
时的值,并统计需要多少次乘法计算和多少次加法计算?
例2设计利用秦九韶算法计算5次多项式
当
时的值的程序框图。
解:
程序框图如下:
练习:
利用程序框图试编写BASIC程序并在计算机上测试自己的程序。
2.排序
在信息技术课中我们学习过电子表格,电子表格对分数的排序非常简单,那么电子计算机是怎么对数据进行排序的呢?
阅读课本P30—P31面的内容,回答下面的问题:
(1)排序法中的直接插入排序法与冒泡排序法的步骤有什么区别?
(2)冒泡法排序中对5个数字进行排序最多需要多少趟?
(3)在冒泡法排序对5个数字进行排序的每一趟中需要比较大小几次?
游戏:
5位同学每人拿一个数字牌在讲台上演示冒泡排序法对5个数据4,11,7,9,6排序的过程,让学生通过观察叙述冒泡排序法的主要步骤.并结合步骤解决例3的问题.
例3用冒泡排序法对数据7,5,3,9,1从小到大进行排序
解:
P32
练习:
写出用冒泡排序法对5个数据4,11,7,9,6排序的过程中每一趟排序的结果.
例4设计冒泡排序法对5个数据进行排序的程序框图.
解:
程序框图如下:
思考:
直接排序法的程序框图如何设计?
可否把上述程序框图转化为程序?
练习:
用直接排序法对例3中的数据从小到大排序
3.小结:
(1)秦九韶算法计算多项式的值及程序设计
(2)数字排序法中的常见的两种排序法直接插入排序法与冒泡排序法
(3)冒泡法排序的计算机程序框图设计
(5)评价设计
作业:
P38A
(2)(3)
补充:
设计程序框图对上述两组数进行排序
第五课时进位制
(1)教学目标
(a)知识与技能
了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换。
(b)过程与方法
学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k去余法,并理解其中的数学规律。
(c)情态与价值
领悟十进制,二进制的特点,了解计算机的电路与二进制的联系,进一步认识到计算机与数学的联系。
(2)教学重难点
重点:
各进位制表示数的方法及各进位制之间的转换
难点:
除k去余法的理解以及各进位制之间转换的程序框图的设计
(3)学法与教学用具
学法:
在学习各种进位制特点的同时探讨进位制表示数与十进制表示数的区别与联系,熟悉各种进位制表示数的方法,从而理解十进制转换为各种进位制的除k去余法。
教学用具:
电脑,计算器,图形计算器
(4)教学设想
(一)创设情景,揭示课题
我们常见的数字都是十进制的,但是并不是生活中的每一种数字都是十进制的.比如时间和角度的单位用六十进位制,电子计算机用的是二进制.那么什么是进位制?
不同的进位制之间又又什么联系呢?
(二)研探新知
进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。
可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制。
现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数。
对于任何一个数,我们可以用不同的进位制来表示。
比如:
十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的。
表示各种进位制数一般在数字右下脚加注来表示,如111001
(2)表示二进制数,34(5)表示5进制数.
电子计算机一般都使用二进制,下面我们来进行二进制与十进制之间的转化
例1把二进制数110011
(2)化为十进制数.
解:
110011=1*25+1*24+0*23+1*24+0*22+1*21+1*20
=32+16+2+1
=51
例2把89化为二进制数.
解:
根据二进制数满二进一的原则,可以用2连续去除89或所得商,然后去余数.
具体的计算方法如下:
89=2*44+1
44=2*22+0
22=2*11+0
11=2*5+1
5=2*2+1
所以:
89=2*(2*(2*(2*(2*2+1)+1)+0)+0)+1
=1*26+0*25+1*24+1*23+0*22+0*21+1*20
=1011001
(2)
这种算法叫做除2取余法,还可以用下面的除法算式表示:
余数
1
0
0
1
1
0
1
把上式中的各步所得的余数从下到上排列即可得到89=1011001
(2)
上述方法也可以推广为把十进制化为k进制数的算法,这种算法成为除k取余法.
当数字较小时,也可直接利用各进位制表示数的特点,都是以幂的形式来表示各位数字,比如2*103表示千位数字是2,所以可以直接求出各位数字.即把89转换为二进制数时,直接观察得出89与64最接近故89=64*1+25
同理:
25=16*1+9
9=8*!
+1
即89=64*1+16*1+8*!
+1=1*26+1*24+1*23+1*20
位数
6
5
4
3
2
1
0
数字
1
0
1
1
0
0
1
即89=1011001
(2)
练习:
(1)把73转换为二进制数
(2)利用除k取余法把89转换为5进制数
把k进制数a(共有n位)转换为十进制数b的过程可以利用计算机程序来实现,语句为:
INPUTa,k,n
i=1
b=0
WHILEi<=n
t=GETa[i]
b=b+t*k^(i-1)
i=i+1
WEND
PRINTb
END
练习:
(1)请根据上述程序画出程序框图.
参考程序框图:
(2)设计一个算法,实现把k进制数a(共有n位)转换为十进制数b的过程的程序中的GET函数的功能,输入一个正5位数,取出它的各位数字,并输出.
小结:
(1)进位制的概念及表示方法
(2)十进制与二进制之间转换的方法及计算机程序
(5)评价设计
作业:
P38A(4)
补充:
设计程序框图把一个八进制数23456转换成十进制数.