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