好文档 - 专业文书写作范文服务资料分享网站

算法循环结构流程图

天下 分享 时间: 加入收藏 我要投稿 点赞

? 当前文文件修改密码:8362839

? 更多数据请访问精品数据网(.....)

谈谈新课程改革中“算法循环结构流程图”的教学

论文摘要:本文是分析新教材中“算法循环结构流程图”的类型、循环结构的退出条件、循环结构与其它结构的联系、以及设计循环结构流程图应注意的事项等四个方面,其中重点谈到如何把握和设计循环结构的退出条件,着手探索算法循环结构流程图的教学。 关 键 词:流程图;计数变数;循环结构

为了加强高中课程与社会发展、科技进步以及学生生活的联系,于是在2004年高中课程改革时,高中数学新教材就增加了算法知识,并放在数学必修Ⅲ的第一章。其中流程图是算法中的重点,而循环结构的流程图是一个难点,学生在学习时感到最困难的是循环结构出口条件的把握,也就是说何时应该退出循环结构执行下一步?退出时该用“>”还是“≥”,用“<”还是 “≤”?计数变量、累加变量的初始值与终值分别是什么?循环结构中的当型与直到型有何区别?等等,学生感到茫然。若学生掌握了流程图,编程序就容易了,因此我认为,加强对算法中循环结构的分析与研究很有必要。下面结合具体问题谈谈我在学习新教材和实施“算法中循环结构流程图”教学过程中的认识和体会。

正如我们知道的,“在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一处步骤的情况,这就是循环结构。反复执行的步骤称为循

满足条件 否 图1当型循环结构 循环体 是 环体。”【1】那么我们在教学中应该关注的是什么呢?

关注的问题一:循环结构有哪些类型?

根据对条件的不同处理,循环结构分为如下两种, (一)当型(while型)。“当型循环在每次执行循环体前对控制循环条件进行判断,当条件满足时执行循环体,不满足则停止;” 【2】当型循环有时也称为“前测试型”循环(如图1)。

(二)直到型(until型)。“直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止。”【3】直到型循环又称为“后测试型”循环(如图2)。

对同一个问题,一般来说既可以用当型,又可以用直到型。当然其流程图(即程序框图)是有所不同的。 例1 设计一个计算1+2+3+…+100的值的程序框图。其当型循环结构程序框图是图3,直到型循环结构程序框图是图4。

循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要判断框作出判断,因此,循环结构中一定包含判断框。

从以上例子还可看出当型循环的判断条件

结束 图3当型循环结构

结束 图4直到型循环结构

I<100? 否 输出S 是 I=I+1 S=S+I 否 I>=100? 是 输出S S=S+I I=0 S=0 I=0 开始 开始 满足条件 是 图2直到型循环结构

否 循环体 S=0 I=I+1 “I<100?”与直到型循环的判断条件 “I>=100?”刚好是相反的。即在同一算法中,当型循环与直到型循环的条件互为对立。

关注的问题二:如何把握和设计循环结构的退出条件?

这里有必要先介绍计数变量和累加变量的作用:计数变量是用于记录循环次数,同时它的取值还用于判断循环是否终止;累加变量(或称累积变量)用于输出结果。

(一)计数变量和累加变量(或称累积变量)一般是同步执行的,计数一次,就累加(或累积)一次。

例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次;

(三)有时计数变量有两个,一个用来判断循环是否结束,另一个用来准确记录循环次数。如:

例3 设计求1×2×4×7×…×46的程序框图。

例3程序框图(图6)是直到型循环,当中t与i都是计数变量,p是累积变量,每对t和i计数一次,就对p累积一次,其结束 图7 输出“n是质数” 否 d≥n-2? 是 如何退出循环? d+1整除n? 开始 开始 t=0,i=1, p=1 s=0,i=1 t=t+1 s=s+i i=i+t i=i+2 否 p=p×i 否 i>46? 是 开始 输出p i>31? 是 输出s 结束 图5直到型循环结构 d=0 结束 图6直到型循环结构 输入n n>2? 是 d=d+1 否 否 是 输出“n不是质数” 中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是正确的。

该例中有计数变量d,d与flag的取值都是用于判断循环是否终止,在这里两变量缺一不可。我们在这里就把类似于 “flag” 这样作用的变量叫做标志变量。标志变量并不记录循环次数,它只用来控制循环体结束。

结束 图8直到型循环结构

是 flag=1? 是 输出“n是质数” 输出“n不是质数” d+1整除n? 开始 输入n flag=1,d=0 否 n>2? 是 d=d+1 否 是 flag=0 否 d≥n-2或flag=0? 否 (五)有时循环体中并无计数变量,且循环次数是不能确定的。以上的例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)。

x1?x2第二步:令m=,计算

2f(m)的值,并判断f(m)是否为0。若是,则m为所求根;若否,则继续执行以下步骤。

第三步:若f(x1)?f(m)>0,知f(m) ?f(x2)<0,则根在区间(m, x2),令x1=m;否则根在区间(x1 ,m),令x2=m。

第四步:判断|x1—x2|<ε(即|x1

—x2|<0.005)是否成立?若是,则令m=

开始 f(x)=x2-2 输入误差ε和初始值x1,x2 x1?x2m=2,f(m)=m2-1 f(m)=0? 否 否 f(x1)·f(m)>0? 是 x2=m x1=m 是 x1?x2,m为满足条件的近似2根;若否,则返回第二步。

其框图如图9(是直到型循环结构),这里并无计数变量,而用来判断循环是否终止的只是标志变量a。

x1=m,x2=m a=|x1 -x2| ???lg?x?x?21其循环次数最多为??1?1?lg???2??(这里x1,x2是初始值),但实际上并不知道其实际的循环次数。

关注的问题三:循环结构与其它结构有何联系?

否 a<ε? 是 x1?x2m=2输出m 结束 图9直到型循环结构

算法循环结构流程图

?当前文文件修改密码:8362839?更多数据请访问精品数据网(.....)谈谈新课程改革中“算法循环结构流程图”的教学论文摘要:本文是分析新教材中“算法循环结构流程图”的类型、循环结构的退出条件、循环结构与其它结构的联系、以及设计循环结构流程图应注意的事项等四个方面,其中
推荐度:
点击下载文档文档为doc格式
9ye3i85myd9jajr88ky455t2h95x5500wce
领取福利

微信扫码领取福利

微信扫码分享