1、设计者罗盛丽单位海南省三亚市第二中学案例名称循环结构适用范围(标明年级和模块)高二年级选修模块1 算法与程序设计课时2循环结构教学案例三亚市二中 罗盛丽一、教材分析循环结构是普通高中课程标准实验教科书选修1算法与程序设计第二章第2.3.3节的内容。循环结构是程序设计的算法中常用的一种语法结构,又是本章第三节要求掌握的三大结构(顺序结构、分支结构、循环结构)中难度最大的一个部分。循环结构通常用来解决处理的过程相同,处理的数据相关,但处理的具体值不同的问题。尽管这类问题在逻辑上并不复杂,但是如果单纯用顺序结构来处理,那是一个非常冗长而泛味的程序。而利用循环结构可以很好的解决这一类问题,因此循环结构
2、在程序设计中具有另外两种结构不可替代的作用。由于本节内容的重要性,以及学生的认识水平,将本节内容定为两个课时来完成。二、学生分析在普通高中数学课程中,学生已经学习了程序框图的三种基本逻辑结构,但是经过调查,学生对数学课中循环结构这部分内容掌握得不够好。对循环结构的语法更是从来没接触过。因此在本节教学中,我着重指导学生理解循环结构的基本思想,结合流程图来表示每一个循环语句的执行原理,让学生通过流程图更深刻地理解循环结构的思想和方法。三、教学目标(1)知识与技能 了解fornext 循环结构的一般格式中循环变量、初值、终值、步长、循环体等概念作用,明确它们之间的关系。了解doloop循环结构中的一
3、般书写格式初步掌握两种循环结构(2)过程与方法对循环结构的语句进行剖析,使学生掌握循环结构的基本格式,加深对循环结构的理解在解决问题的过程中,理解循环语句fornext和do whileloop两者的异同点。提高学生分析问题、解决问题的能力(3)情感态度与价值观感受计算机解决问题的思想和方法,激发学生对知识的求知欲,形成积极主动的学习态度引导学生分析问题,解决问题,培养学生自主学习的能力。四、教学重点难点 1重点:循环语句的语句格式及循环执行过程 语法结构之间的差别及应用2难点:循环语句的正确使用 程序中循环条件确定 五、设计思路fornext循环结构最不容易掌握的是循环变量、初值、终值、步长
4、、循环体及其之间的关系。因此我通过流程图让学生了解循环执行的过程,并结合例子,通过表格的填写,对它们之间的关系进行阐述,让学生真正理解,再通过实例分析让学生懂得如何使用fornext来解决问题。在doloop循环结构中,我结合流程图,通过对例题进行分析,让学生了解该结构与fornext的区别,以及do whileloop与doloop while的异同点,知道在什么情况下应该使用哪种循环结构。 六、教学过程教学环节教 师 活 动学 生 活 动设 计 意 图一、复习复习前面学过的两种结构:顺序结构和分支结构。指出二者在语法结构和使用场合的不同之处通过对两种结构的再一次学习,为循环结构的学习做铺垫
5、二、新课讲解(for/next循环结构)1、展示用循环结构编写的小程序:for i=1 to 5print “*”;next I让学生猜猜这个程序是输出的是什么结果。运行程序,得出结果:*语句print ”*”分明就是输出一个“*”号。可是为什么是五个“*”呢?由此引出循环结构。学生思考、讨论、回答从简单的例子入手,采用由浅入深,循序渐进的方法进入讲授诱发学生探求新知的好奇心,让学生带着问题进入学习,激发学生学习的兴趣。二、新课讲解(for/next循环结构)2 Fornext循环语句及其格式、功能和流程图(展示)格式:For 循环变量=初值 To 终值 Step 步长 循环体Next 循环变
6、量功能:当循环控制变量的值在初值和终值所限定的范围内时,执行循环体,否则退出循环。语句执行流程图控制变量=初始值是循环体循环变量=控制变量+步长否控制变量=终值执行过程:首先将初值赋给循环变量,然后比较循环变量的值是否超过终值,如果超过就退出循环。否则执行循环体中的语句并将循环变量增加一个步长,然后再将变量的值与终值做比较,来判断是继续执行还是退出循环。观察、讨论循环结构与另外两种结构有什么不同。了解ForNext结构的基本构成及执行过程让学生对ForNext循环结构的基本结构有个初步的认识,了解循环语句执行的过程二、新课讲解(for/next循环结构)结合例子说明:for i=1 to 5
7、print “*”;next i循环次数变量i的值初值是否大于终值是否执行循环体1115执行222执行3335执行4445不执行 第一次循环:变量的值是多少?初值是否大于终值?初值小于终值应该执行哪一条语句?执行完后循环变量是多少? 第二次、第三次、第四次呢? 第五次循环后,循环变量的值为多少?这时候还要执行循环体内的语句吗?为什么?(任务1):for =2 to 8 step 2 print “*”;next 将以上程序在执行过程中各项值的变化填写在表格里。循环次数变量i的值初值是否大于终值输出结果1234对存在的问题做进一步的分析讲解(任务2)程序:s=0 for i=1 to 5prin
8、t s=s+i next i让学生填写表格:循环次数变量i的值初值是否大于终值输出S的值12345每一次循环,s的值都有什么变化?你们从中发现什么规律? 说明:(结合表中数据)第一次循环,s=s+i=0+1=1第二次循环,s=s+i=1+2=3第三次循环,s=s+i=3+3=6第四次循环,s=s+i=6+4=10第五次循环,s=s+i=10+5=15倒着推算:s=15=10+5=6+4+5=3+3+4+5=1+2+3+4+5得出结论:相当于把变量15的值都加到里面去了。语句s=s+i使s相当于一个累加器例题讲解:为解雇工程捐款,假设你1月份存入1元钱,2月份存入2元钱,3月份存入3元钱依次类推
9、,那么两年后你将为希望工程存入多少钱?问:发生变化的是哪些数据?它们有什么规律?循环控制变量的初值和终值,步长应该是多少?如果要计算多少个月后“希望工程”储蓄才能多于500元,该如何实现?用原来的程序能够解决吗?与老师一起对程序进行分析,填写表格分小组讨论,完成任务小组间核对所填写的数据,看结果是否相同,找出不同的原因思考、讨论、完成任务比较、思考、回答问题注意最后产生的表达式跟循环控制变量有什么关系分析讨论,写出结果思考、讨论结合例子对循环结构进行分析可加深学生对知识的理解,培养分析问题的能力考察学生对循环结构的执行过程是否真正理解。针对学生存在的问题再做说明,加深理解。由简到繁,由易到难,
10、循序渐进,符合认识规律。由上面的程序逐渐演变成循环体跟控制变量有关程序,是一个自然的过渡。比较容易理解掌握如果学生能够完成任务最好,如果不能,则有必要要作进一步的补充说明由问题直接引出do /loop结构三、新课讲解(doloop)引出do loop循环语句及其格式、功能和流程图(展示)(1)do whileloop循环结构格式:do while 循环体 loop功能:当条件表达式的值为真时,执行循环体流程图:假真条件循环体(2)do loop while循环结构格式: do 循环体 loop while 功能:先执行一次循环体,然后判断条件表达式。如果条件表达式的值为真,继续执行循环体。流程
11、图: 假真循环体条件观察讨论,对语句和流程图进行比较两种结构有什么不同通过观察比较让学生对do/loop循环语句有个初步的认识并能区分两种格式的不同点,为后面的学习做准备三、新课讲解(doloop)结合例题讲解:(使用do whileloop语句来解决问题)分析: 1首先确定条件。根据题意,捐款数大于500元,结合流程图,当捐款数不超过500元时,要继续增加数据,那么判断条件应设置为什么?2根据流程图,当捐款数不超过500元时,就必须往累加器中添加捐款数,那么循环体的语句应该是什么。3得到程序的结构: do while s=500 s=s+i loop问:这个程序是不是一个完整的程序,能否求出
12、程序的结果。(运行证明不能)还缺少什么条件?do while s=500 i=1 s=s+iloop i每次增加的值只为1,不符合题意问:符合题意吗?i的值是逐渐增加的,还必须增加什么语句。do while s=500 i=1 s=s+i i=i+1loopi的值只是按1和2的序列来增加,每判断条件一次,就给i赋值1,还是不符合题意。应该如何修改?得到程序:i=1do while s=500 s=s+i i=i+1 loop(任务)将以上程序用do loop while 语句修改。 (任务)用doloop while改写前面的do whileloop语句检查修改的结果,根据出现的问题进行分析讲
13、解思考问题回答问题师生共同完成思考、讨论给i赋值1增加语句:i=i+1把它放在循环体的外面(如果学生不能提出问题,老师可适当提示)分组进行,完成任务使用do while/loop语句解决问题关键就是要懂得确定条件和循环体的内容,因此为了让学生能够真正学会学习,就要学会分析问题和解决问题的过程和方法通过设疑的方式让学生逐渐找出存在的问题,并从中发现问题和解决问题,加深对结构的认识和了解实现知识迁移四、总结练习结合流程图,再次说明两种循环结构的不同之处:for/next语句适合解决循环次数事先能够确定的问题do/loop语句预先确定需要执行多少次循环体的情况:do while/loop语句先判断条
14、件再执行循环体;do/loop while先执行循环体再判断条件。完成练习:P39 2(1)(2)(3)小组间成员互相协助,完成练习通过练习,让学生加深对知识的理解和掌握。 七、教学反思循环结构是程序设计的算法中常用的一种语法结构,又是本章第三节要求掌握的三大结构(顺序结构、分支结构、循环结构)中难度最大的一个部分。为了培养学生分析问题解决问题的能力,在教学中,我根据认识规律,由简到繁,由易到难,循序渐进。通过师生共同分析解决问题,让学生真正理解、掌握循环结构及其应用。在教学中我比较注重教师的主导及学生的主体作用,教学中布置的任务及提出的问题都是为了突出重点和突破难点服务。让学生在分析问题的过程中获得相关知识,并学会运用所学知识去解决实际问题。