资源描述
n 目前文文件修改密码:8362839
n 更多数据请访问精品数据网(.....)
谈谈新课程改革中“算法循环结构步骤图”教学
论文摘要:本文是分析新教材中“算法循环结构步骤图”类型、循环结构退出条件、循环结构和其它结构联络、和设计循环结构步骤图应注意事项等四个方面,其中关键谈到怎样把握和设计循环结构退出条件,着手探索算法循环结构步骤图教学。
关 键 词:步骤图;计数变数;循环结构
为了加强高中课程和社会发展、科技进步和学生生活联络,于是在高中课程改革时,高中数学新教材就增加了算法知识,并放在数学必修Ⅲ第一章。其中步骤图是算法中关键,而循环结构步骤图是一个难点,学生在学习时感到最困难是循环结构出口条件把握,也就是说何时应该退出循环结构实施下一步?退出时该用“>”还是“≥”,用“<”还是 “≤”?计数变量、累加变量初始值和终值分别是什么?循环结构中当型和直到型有何区分?等等,学生感到茫然。若学生掌握了步骤图,编程序就轻易了,所以我认为,加强对算法中循环结构分析和研究很有必需。下面结合具体问题谈谈我在学习新教材和实施“算法中循环结构步骤图”教学过程中认识和体会。
满足条件
循环体
是
否
图1当型循环结构
正如我们知道,“在部分算法中,也常常会出现从某处开始,根据一定条件,反复实施某一处步骤情况,这就是循环结构。反复实施步骤称为循环体。”【1】那么我们在教学中应该关注是什么呢?
关注问题一:循环结构有哪些类型?
依据对条件不一样处理,循环结构分为以下两种,
满足条件
循环体
是
否
图2直到型循环结构
(一)当型(while型)。“当型循环在每次实施循环体前对控制循环条件进行判定,当条件满足时实施循环体,不满足则停止;” 【2】当型循环有时也称为“前测试型”循环(图1)。
(二)直到型(until型)。“直到型循环在实施了一次循环体以后,对控制循环条件进行判定,当条件不满足时实施循环体,满足则停止。”【3】直到型循环又称为“后测试型”循环(图2)。
对同一个问题,通常来说既能够用当型,又能够用直到型。当然其步骤图(即程序框图)是有所不一样。
开始
I=0
S=0
I>=100?
输出S
S=S+I
I=I+1
结束
是
否
图4直到型循环结构
开始
I=0
S=0
I<100?
输出S
S=S+I
I=I+1
结束
是
否
图3当型循环结构
例1 设计一个计算1+2+3+…+100值程序框图。其当型循环结构程序框图是图3,直到型循环结构程序框图是图4。
循环结构不能是永无终止“死循环”,一定要在某个条件下终止循环,这就需要判定框作出判定,所以,循环结构中一定包含判定框。
从以上例子还可看出当型循环判定条件“I<100?”和直到型循环判定条件 “I>=100?”刚好是相反。即在同一算法中,当型循环和直到型循环条件互为对立。
关注问题二:怎样把握和设计循环结构退出条件?
开始
t=0,i=1, p=1
p=p×i
i>46?
输出p
t=t+1
结束
是
否
i=i+t
图6直到型循环结构
开始
s=0,i=1
s=s+i
i>31?
输出s
i=i+2
结束
是
否
图5直到型循环结构
这里有必需先介绍计数变量和累加变量作用:计数变量是用于统计循环次数,同时它取值还用于判定循环是否终止;累加变量(或称累积变量)用于输出结果。
(一)计数变量和累加变量(或称累积变量)通常是同时实施,计数一次,就累加(或累积)一次。
例1中“I”是计数变量,“S”是累加变量。每对I计数一次,就对S累加一次,当I=100时,退出循环,此时循环次数刚好为100次。
(二)有时计数变量并没有正确统计循环次数。如:
例2 设计求1+3+5+7+…+31步骤图。
例2步骤图(图5)用是直到型循环,当中s是累加变量,i是计数变量,这里每对s累加一次,就对i计数一次,当i>31(即i=33)时要退出循环体,但此时循环次数却只有16次;
(三)有时计数变量有两个,一个用来判定循环是否结束,另一个用来正确统计循环次数。如:
否
开始
输入n
d=d+1
n>2?
结束
是
d+1整除n?
是
否
d=0
怎样退出循环?
d≥n-2?
否
是
输出“n不是质数”
输出“n是质数”
图7
例3 设计求1×2×4×7×…×46程序框图。
例3程序框图(图6)是直到型循环,当中t和i全部是计数变量,p是累积变量,每对t和i计数一次,就对p累积一次,其中t是控制循环次数,i是判定循环是否终止。当i>46(即i=56,t=9) 时,退出循环体,此时循环次数刚好是9次,只是在设计框图时不需人为算出t=9。
(四)有时要退出循环体,有计数变量还是无法真正退出循环结构。如
例4 任意给定一个大于1整数n,试设计一个程序或步骤对n是否为质数做出判定。算法以下:
第一步,判定n是否等于2。若n=2,则n是质数;若n>2,实施第二步。
第二步,依次从2~(n-1)检验是不是n因子,即整除n数。若有这么数,则n不是质数;若没有这么数,则n是质数。
依据算法直接画出程序框图(图7),这里d是计数变数,但此时当中红色粗线部分问题还没处理。
这就需要增加一个变量flag,它是用来判定是否为质数一个变量,该变量取值只有两个,“1”和“0”,若flag=1,则是质数;不然不是质数。flag并没有实质含义,那就象一个人姓名能代表她本人,其外号也可代表她本人,学号一样能代表她本人。而通常来说用学号管理更方便。“flag=1”只是质数一个代号。当然代号能够选别,如用b变量,“b=1是质数代号,而当b≠1时则不是质数”等等全部行。直到型循环结构图8是正确。
开始
输入n
d=d+1
n>2?
结束
是
否
输出“n不是质数”
d+1整除n?
是
否
d≥n-2或flag=0?
否
是
flag=1,d=0
flag=0
flag=1?
输出“n是质数”
是
否
图8直到型循环结构
该例中有计数变量d,d和flag取值全部是用于判定循环是否终止,在这里两变量缺一不可。我们在这里就把类似于 “flag” 这么作用变量叫做标志变量。标志变量并不统计循环次数,它只用来控制循环体结束。
(五)有时循环体中并无计数变量,且循环次数是不能确定。以上例1,例2,例3中全部有计数变量,且循环体循环次数全部是确定,而在例4中循环次数是不确定,有0,1,2,…,n-2次多个可能。又比如
例5 用二分法设计一个求方程x2-2=0正近似根算法(正确到ε=0.005)。
第一步:令f(x)= x2-2,因为f(1)<0,f(2)>0,则根在区间(1,2),设x1=1,x2=2,即根在区间(x1 ,x2)。
第二步:令m=,计算f(m)值,并判定f(m)是否为0。若是,则m为所求根;若否,则继续实施以下步骤。
第三步:若f(x1)•f(m)>0,知f(m) •f(x2)<0,则根在区间(m, x2),令x1=m;不然根在区间(x1 ,m),令x2=m。
开始
f(x)=x2-2
m=,f(m)=m2-1
f(m)=0?
输出m
x1=m
结束
输入误差ε和初始值x1,x2
f(x1)·f(m)>0?
x2=m
a<ε?
否
否
是
是
是
否
m=
a=|x1 -x2|
图9直到型循环结构
x1=m,x2=m
第四步:判定|x1—x2|<ε(即|x1—x2|<0.005)是否成立?若是,则令m=,m为满足条件近似根;若否,则返回第二步。
其框图图9(是直到型循环结构),这里并无计数变量,而用来判定循环是否终止只是标志变量a。其循环次数最多为(这里x1,x2是初始值),但实际上并不知道其实际循环次数。
关注问题三:循环结构和其它结构有何联络?
1. 循环结构中全部有次序结构。
2. 条件结构嵌套着循环结构,图8。
3. 循环结构嵌套着条件结构,图8,图9。
4. 循环结构嵌套着循环结构,图10(是一个相关九九表步骤图)
最终谈谈设计循环结构步骤图应注意事项:
1. 计数变量和累加变量(或累积变量)分别代表什么?有什么作用?
2. 两个变量(计数变量和累加变量)初始值、终值分别是多少?
3. 计数变数递加值(即步长)有多大?
4. 退出循环体时判定框中计数变量取值限制,用“>”还是“≥”?用“<”还是 “≤”?
开始
k=1,i=1
k=i
i=i+1
结束
N
Y
a=kxi
i<=9?
图10当型循环嵌套当型循环
k<=9?
输出k;“x”;i;“=”;a
k=k+1
Y
N
5. 不要遗漏步骤线箭头,也不要忘记在判定框相连步骤在线写“是”(或“Y”),“否”(或“N“),还要注意当型中“是”实施循环体,直到型中“是”退出循环体。
6. 当碰到条件结构嵌套着循环结构,或循环结构嵌套着条件结构,或循环结构嵌套着循环结构时,注意一定要把整个结构套进去,就象大盆装小盆,要完整装好,不能溢出。
7. 循环结构通常只有一个进口,一个出口。在二分法图9中,循环体中设计了一个进口,一个出口,只有这么才能顺利转化为程序语言。
【1】一般高中课程标准试验教科书《数学3》(A版)人民教育出版社,,5第1版P9
【2】【3】一般高中课程标准试验教科书《数学3》(A版)人民教育出版社,,5第1版P10
参考文件
①一般高中课程标准试验教科书《数学3》(A版)人民教育出版社,,5第1版
②《中学教材全解 高中数学必修③》主编: 薛金星,陕西人民教育出版社,,1第1版,,2第1版
③《高中同时测控优化设计》主编:任志鸿,南方出版社,12第2版,,1第3版
论文题目:谈谈新课程改革中“算法循环结构步骤图”教学
作者:卢丽英
单位:东莞中学数学科
联络电话:22119827 ,
展开阅读全文