循环结构在程序中起到什么样的作用

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 20:32:20

循环结构在程序中起到什么样的作用

众所周知,循环结构是整个程序设计的重中之重,该部分在整个程序设计中起到一个枢纽作用,从一定意义上讲,该部分知识掌握的好与坏,将直接影响学生对整个程序设计语言的把握.下面我就对该章节的内容提一些我的浅见.
教参中提出了三个教学要求:
⑴掌握For-Next语句的格式和功能,理解For-Next语句的执行过程,学会使用For-Next语句实现计数循环.
⑵ 掌握Do While-Loop和Do-Loop Until语句的格式和功能,会使用Do While-Loop和Do-Loop Until语句实现条件循环.
⑶ 学会编写具有双重循环结构的程序.
从要求来看,这部分知识的重点就是要求学生掌握几种循环结构的语句,并能够熟练运用这些语句编写出程序.教材P193-194,[6-6-1]首先用两个例子引入,旨在提出FOR/NEXT结构,紧接着讲解了该结构的一些固定格式和运行过程.在讲解的过程中,书中没有举出相应的例子,只是给出了两个程序流程图.这对于学生的理解是由一定的困难的.如果我们将语句的格式加以变动,改为
FOR I=A TO B STEP C循环体NEXT I然后对其中的A,B,C进行必要的说明,尤其是循环体部分和循环次数的问题.在我所教的学生中普遍有这样的一个问题,在学习循环结构初期,学生对于循环体的含义搞不清,经常出错.另外,对于FOR/NEXT结构的另外一个重点就是计数功能,实际上就是循环次数的问题,从教学要求中我们可以看出这部分知识是要求学生把握的,我们可以给出求循环次数的公式N = INT((B-A)/ C)+1,这样学生在做有些题目的时候就很方便,而且对于后面学习双重循环结构有帮助.书中在讲述这部分知识时的例子不多.大家都知道我们学程序就是要会写程序,可对于刚开始学的人,要写一个程序是不容易的,我个人认为还是让学生们先多读一些程序,多看一些程序,然后再让他们去写去编.课后习题中也只有一两道关于for/next的题目.这几道题目对于巩固这部分知识是远远不够的,该部分的习题应该增加些.
紧接着是[6-6-2]的内容P195举了一个for/next结构的例子,为了巩固上一节的内容,顺便引出DO—LOOP循环语句,主要包括以下两种结构DO WHILE /LOOP,DO / LOOP UNTIL ,这两种结构最主要的就是让学生搞清楚条件为真和条件为假的问题,这个书中讲的很清楚.然后分别举了例子进行讲解.我对这两个例子[6-6-3][6-6-4]不是很欣赏,主要原因是这两个例子中都涉及到比较复杂的数学运算,学生不易搞懂.如果又要讲结构又要讲算法,不利于学生对DO-LOOP结构的把握.我个人认为:何不将P194页的那个例题,分别用DO WHILE /LOOP 和DO /LOOP UNTIL 来进行设计,一来可以巩固该结构,二来可以与FOR/NEXT结构联系起来,比较这几种结构的不同,便于学生从整体上理解和把握.该部分的课后练习有两道程序阅读,有两道编程,难度适中,适当的还可以另外再添加一些题目给学生练习加以巩固.
循环结构的最后部分是循环的嵌套,这部分是整个循环的一个综合.主要是FOR/NEXT结构以及FOR和DO结构的套用,教材中的程序主要是计数问题和文本输出问题,书中P199[6-6-5]就是一个典型对称型文本输出问题.书中对于该部分知识的讲解颇为简单,只是在程序中给出了多重FOR语句的结构.建议这个地方,最好讲一个计数的程序,然后再来讲文本输出.计数程序如下:
FOR I=1 TO 3
FOR J=1 TO 3
FOR K=J TO 3
FOR J=1 TO I
FOR K=J TO 3
NEXT K , J ,I
END对比两个程序的不同,让学生理解多重循环的执行过程.然后我们可以添一些循环体让学生来计算,巩固所学知识,程序如下:
FOR X =1 TO 10R=0FOR Y =1 TO 8S=0FOR Z =1 TO 6T=0R=R+1:S=S+2:T=T+3
NEXT Z ,Y, X
PRINT “R=”;R,“S=”;S,“T=”;TEND通过这个程序的讲解学生对多重循环的执行有的一定的理解的基础之上,我们来讲文本输出问题可能会好一点,在我教学实践的过程中,发现这样更容易让学生接受.
书中P199[6-6-5]这个例题有一定的难度,不适宜一开始就讲解,最好从简单的开始,可以将书中的课后习题中P203的两道题目拿出来先讲,然后再讲对称结构的文本,这样的效果会更好.
以上这些都是关于FOR/NEXT结构的套用,书中[6-6-6]就是一个典型的FOR / DO套用的例子,这是一个输出素数的问题.直接讲解,内容比较多,不利于学生掌握.建议将其细化,先讲素数的判别方法,然后再综合讲解,这样学生容易接受.其实这部分知识比较多,也比较难,我们可以将其分开来,一部分一部分讲,比如分成:1、循环次数问题 2、累加和累乘问题 3、素数问题 4、质因子问题 5、哥德巴赫猜想问题 6、文本输出问题 7、数字拆分、水仙花数、同构数等等部分,我们可以根据实际需要进行讲解.现在随着选修课课程的不断深入实施,要想把程序设计这门选修课上好,以上的这些算法可能是必不可少的.也只有将这部分知识讲精讲细,才能真正将循环这一张章节掌握,也才能为后面的数组部分知识打下一个好的基础.
以上是我对信息技术教学过程中对循环结构这一章节的一些个人愚见,如有不当之处,恳请广大专家同仁批评指导.