用FOR循环语句解决实际问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用FOR循环语句解决实际问题
说课稿
巴东县一中邓辉
一、教材分析
1、教学内容分析
《算法及其实现》是浙江版教材《信息技术基础》第三章第四节内容,课标要求是使用计算机高级语言编程实现算法来解决实际问题,进而培养学生的逻辑思维能力。本节课为了提高学生编程兴趣,给学习《算法与程序设计》奠定基础,在尊重教材编写意图和思想的同时,对FOR循环应用适当拓展和延伸,选取学生熟悉的数列累加累积典例进行教学。
2、教学目标
知识与技能:理解FOR循环的执行条件和过程;用FOR循环编程解决典型数列累加累积问题。
过程与方法:通过模仿、迁移、提高三个阶段的学习和操作,培养学生的自主探究和逻辑思维能力。
情感态度与价值观:通过相互协作完成学习任务,培养学生的团队协作精神。
3、教学重点、难点
重点:设计算法、画流程图,用FOR循环编程解决典型数列累加累积问题。
难点:建立数模,设计算法,针对实际问题设置FOR循环变量的终值。
二、学情分析
所授课班级上节课学习了FOR循环格式、执行过程,初步掌握循环变量的初值、终值、步长的设置,能用VB语言编写出简单的FOR循环程序。由于学生的信息技术基础存在一定差异,部分学生在学习程序设计时还有一定困难。
三、教法与学法
1、启发式教学法:针对学生遇到的问题,启发学生细心观察,大胆设想,勇敢实践。
2、分层合作教学法:设置不同层次任务,让学生根据自身情况自主选择完成。
3、演示法:老师通过广播系统演示编程操作,学生通过广播系统分享成果。
4、任务驱动法:根据教学目标,在不同阶段,设置不同层次任务来激发学生学习兴趣。
学法:自主探究法,讨论协作法。
四、教学环境
具有多媒体极域广播教学系统和大屏幕投影仪的计算机教室。
五、教学程序
(一)设计思想:以菜鸟任务、进阶任务和大神任务为驱动,在老师的启发和引导下,学生通过自主探究和相互协作完成任务,建构FOR循环结构网络,提升学生信息技术素养。
课堂时间分配:老师讲解、演示15分钟,学生探究、操作30分钟。
(二)教学流程
1、新课导入(2分钟)
回顾上节课内容,开门见山,引出新课主题,引出典例:用FOR循环编程求1+2+3+4+…+100的和。
2、新课
(1)设计算法,老师演示(8分钟)
先请学生设计算法,画流程图,再推荐两位到黑板上画流程图。针对所画的流程图,共同讨论,分析不足,逐步修改完善。接着老师演示编程操作,用VB语言来实现算法。
分菜鸟篇、进阶篇、大神篇三个阶段进行教学。
(2)模仿阶段(菜鸟篇12分钟)
菜鸟任务:请学生模仿老师操作用FOR循环编程求1+2+3+4+…+100的和。
为提高课堂效率,老师事先设计好所有任务的VB窗体,设置好输入和输出代码,只留下循环语句让学生完成。
学生模仿操作,教师巡视并做指导,4分钟全班同学完成任务。
新知延伸:
①对这个编程问题,把步长变为-1,该怎么做?学生交换初值和终值,问题很快解决。
②再请学生用FOR循环编程求1+2+3+…+n的和。提示:n要求输入。这个问题可为后面的教学内容奠定了基础。
学生开始不知如何设置循环变量的终值,这是终值设置的转折点:由数值变成变量,要求输入。此时老师不要急于告诉学生结论,而是列举不同的n值,引导分析FOR循环的执行过程,启发学生大胆设想、勇敢实践,最终让学生自己理解终值要设为n。
请同学演示时,有的输入的n值为负数,得不到想要的结果。老师提示输入n值时要注意两点:一是清楚FOR循环的执行条件,二是所输入的n值要符合表达式的规律和隐含条件。让学生在操作和体验中暴露问题,老师再有目的引导学生分析解决问题,培养了学生的自主探究能力和思维品质。
(3) 迁移阶段(进阶篇8分钟)
进阶任务:任务一:S=2+4+6+8+…+200,求S。
任务二:S=1*2*3*4*…*n,求S。
根据学生存在的个体差异,设置了两个不同层次的进阶任务,由学生根据自身的情况,自主选择其中一个完成。
因为有菜鸟篇的基础,学生只用5分钟完成了任务。大部分选择了任务二,请学生演示时,发现有的将S的初值设为0,结果为0,同学们马上明白S的初值应设为1;选任务一的同学,有的把步长设为2,有的设为-2,达到预期教学效果。可喜的是很多同学完成了这两个任务。
通过知识迁移,让学生形成举一反三、灵活运用所学知识解决类似问题的能力和方法,有利于认识事物的本质和规律,建构知识结构网络。
(4)探究提高阶段(大神篇10分)
大神任务:任务一:S=1/1+1/2+1/3+1/4+…+1/n,求S。
任务二: S = 1 - 1/3 + 1/5 - 1/7 + … + (-1)^(n-1)/(2*n-1),求S。
设置两个不同层次的大神任务,由学生根据自身情况,自主选择其中一个完成,学生可相互协作、讨论完成。这两个任务具有挑战性,旨在激发学生的学习兴趣和探究欲望,培养学生的逻辑思维能力。
选做任务二的学生,开始不知道如何设置循环变量的终值。老师引导学生利用前面解决问题的经验,分析FOR循环的执行过程,弄清n与(2*n-1)之间的关系,让学生自己明白终值要设为n,而不是(2*n-1)或(n-1)。
学生操作,教师巡视指导,5分钟后,各推荐一个代表分别演示这两个任务,在全班交流,老师点评,学生修改完善程序,并请每位学生把编写的源程序通过广播系统提交给老师,课后评定等次,对存在的共性问题下节次课讲解。
3、总结课堂(3分钟)
老师回顾总结课堂,归纳用FOR循环编程解决典型数列累加累积问题的基本思想和方法:先分析问题,建立数模,再设计算法,明确FOR循环执行的条件和过程,确定循环变量初值、终值、步长,并完成循环体。鼓励学生课后进一步探索用FOR循环解决实际问题的相关知识。
4、课后作业(2分钟)
“攒钱去看NBA!”:小张酷爱篮球,他很想去现场观看2014年NBA总决赛,可是需要资金10万元。他打算从今天起开始存钱,假如第一天存1元钱,第二天存2元钱,第三天存4元钱,以后每一天都存比前一天多一倍的钱,请问10天后他能攒下多少钱?不过他发现过了十几天后他就无能为力了,这又是为什么呢?多少天才能存够10万?
这是一道学生感兴趣的应用题,可培养学生的自主探究和解决实际问题的能力。把该题上传到淘师湾信息技术作业网上。
六、教学反思
1、采用分层合作教学法,设置不同层次任务,每位学生完成相应任务都有所收获;同学间合作完成任务,培养了学生的团队协作精神。
2、整个教学过程中分为菜鸟篇、进阶篇、大神篇,由易到难,层层推进,激发了学生的学习兴趣,提高了学生的自主探究和综合编程能力。
3、老师事先设计好所有任务的VB窗体,设置好输入和输出代码,只留下循环语句让学生完成,避免输入速度慢的学生分散注意力,节约了时间,提高了课堂效率。
4、不足之处:学生在完成大神篇任务二时,我判断有误,认为学生会根据前面所学经验找到循环变量的终值,因此对这个问题没做深入引导和讲解。很多同学虽然做出了正确结果,但发现他们并没有真正理解循环变量的终值为什么是n,不是(2*n-1)或(n-1)。