FOR循环控制语句
一、基本说明
1模块:算法与程序设计
2年级:高中二年级
3所用教材版本:广东教育出版社
4所属的章节:第二章第四节
5学时数: 45分钟(机房授课)
二、教学设计
1、教学目标:
知识与技能:理解循环结构程序的作用;掌握FOR/NEXT语句的使用方法,能够将它应用于问题解决之中;知道FOR/NEXT语句的执行过程;了解循环变量的特殊性与重要性;
过程与方法:经历计算机解决问题的过程,体验成功的快乐,通过程序设计,提高学生创造性思维和综合运用知识的能力。
情感态度与价值观:培养学生的团结协作的精神。
2、内容分析:本节主要内容为VB语言的For循环语句来实现循环控制结构,解决实际问题,并且培养学生的创新能力。
本节重点:让学生学会使用VB语言的For循环语句来实现循环控制结构,解决实际问题,并且培养学生的创新能力。
本节难点:本节是VB教学中较难的一部分,多重循环结构则是本节程序设计的难点,本节教学要能够使学生将以前所学习过的知识有机地结合在一起,并且充分发挥自己的创造力,利用三种基本结构进行编程。
3、学情分析:教学对象为高二的学生,虽然在高一数学课中对流程图、算法等稍有接触,但并未深入。学生对于算法的理解上还存在一定的偏差。即便给一个比较容易解的问题,让学生用计算机算法描述还存在一定的困难。经过本期前几周的学习,学生对VB语言的格式开始有了初步的认识也产生的一定的兴趣。
4、设计思路:教材上直接讲了循环结构的应用。若按教材上的来讲,学生不容易接受。很容易造成学生的简单模仿,而不是真正的掌握。所以先设计一些简单的速算比赛,让学生和计算机比赛,激发学生的学习兴趣。然后给出基本任务,让学生自主探究,完成任务。接着给出提高任务----打印99乘法表,及时点拨学生,让学生学会FOR循环的嵌套使用。
三、教学过程
教学环节及时间 教师活动 学生活动 对学生学习过程的观察和考查 及设计意图
比赛体验提出问题 3’ 投影:高斯的故事和电脑比赛看谁算的快1+……+ 5= 1+……+100= 1+……+1000= 1+……+1678= X+……+Y= 提问:参考教材,试试编制速算程序。 学生观看高斯的故事 一起速算 通过这样一个意味深长的故事和学生的实际动脑练习,引发学生的思考,使学生认识到计算机在运算上的快捷与准确,引起学生对循环结构的关注,并自然的引入本节教学内容。
自主探究编制程序 15’ 教师巡视发现问题 及时指导解决典型问题 参考教材范例 自主探究编制程序 故事及速算比赛的引入,达到了激发学生学习热情的效果。趁热打铁,让学生自主探究FOR循环结构的格式及程序的源码,通过学生的探究,让学生认识到FOR语句的作用及功能,达到学生自主探究学习的目的。动手编制程序,使学生刚刚迫不及待探究的知识点得到应用,使学生感受计算机的神奇。
剖析程序归纳总结 总结FOR循环语句的基本格式、FOR循环控制语句的流程图。 学生核对自己的探究结果 梳理知识点,让学生对FOR循环控制语句的认识系统化。
任务二:探究99乘法表的编制 布置任务 加强巡视指导 参考教材范例 自主探究编制程序 在此设计99乘法表,是为了便于学生将FOR循环控制语句精通掌握。同时也是为了培养学生不怕困难勇于探索、勇往直前的精神。
协作交流 5’ 发现学生的典型问题,得到评价总结的第一手资料。帮助学生解决问题。 学生相互帮助,发现同学问题,解决问题。 99乘法表是个难点,牵扯到循环的嵌套,本节设计时将循环的嵌套和for语句放在同一堂课,便于学生学习。通过学生的协作交流,帮助基础较为薄弱的学生完成课堂任务,提高学生的交流能力,
评价小结 3’ 1、FOR语句的格式包括三个部分:FOR语句、NEXT语句和循环体,注意事项要记清楚; 2、分析循环程序时要注意重复处理的操作(循环体)和循环次数(循环结束的条件); 学生倾听总结 梳理知识 系统梳理知识点
课后作业 1’ 探究,如何将乘法表修改如下: 学生思考 将课堂延伸
四、教学反思
兴趣是学习的关键,因此本节课从学生的学习兴趣入手,引导学生积极主动的参与程序设计的学习。因学生对计算机的掌握水平不同,个别学生的底子较薄,动手能力弱。在以后的教学中应尽量让学生互相搭配,以此来相互进行辅导和交流;另外在教学过程中教师还要尽量多的到下面去巡视辅导,及时点拨,从而解决所存在的差异问题。
程序练习题目
(1)打印1-5这五个数clsFor i = 1 To 5 Step -1Print iNext I[步长应为1。] (2)打印1-5这五个数clsFor 1 To 5Print iNext i[循环变量I要赋值 for I=1 to 5。]
(3) 打印1-5这五个数clsFor i = 1 To 5 Step 1Print I[缺少next I。] (4)打印1-5这五个数clsFor i = 1 To 5Print iNext J[for 和next 变量应该为同一变量。]
(5) 打印1-5这五个数clsi = 1Do While i <= 5Print iLoop[在循环体内I会永远是1,没有变化,所以这是死循环,要注意避免。在Loop前加上I=I+1。] (6) 打印1-5这五个数clsi = 1Do While i <= 5Print i[print 后缺少loop,应该加上loop语句。]
(7)求1+3+5+7的和:(填空)Sum=0For I= 1 to 7 Step 2Sum=Sum+INext IPrint Sum (8)求1+3+5+7的和:(填空)Sum=0I=1Do while I<=7Sum=Sum+II=I+2loopPrint Sum