第7课 循环结构(第15-16课时)
教学内容分析
本课主题while语句简单例子1主要介绍了for循环语句的基木结构及其应用实例。为了让学生充分领会循环语句在编程解决实际问题中的作用,教材以数青蛙益智接龙游戏为实例,详细地向学生阐述了for循环语句的语法结构和执行流程,让学生在实例中体会循环结构是如何处理和解决实际问题的。
主题2介绍了while循环语句的基本结构,并通过将数青蛙益智接龙游戏用while语句进行改写,让学生对while和for循环语句有更深刻的认识。接下来教材使用电子密码锁为例子,让学生动手实践。
通过多次编程实践,让学生对如何利用循环语句解决实际问题小有心得。最后教材提出了一个很有意思的实践创新问题,需要几次才能将纸张折叠出不低于珠穆朗玛峰的高度,供学生进行探究和实践。
教师在授课时,既要注意结合教材传授for和while循环语句的基本语法结构和执行流程,又要
注意提供足够的实践机会,让学生在实践中体会for和while循环对于用编程解决实际问题所带来的帮助,同时为今后编写更复杂的语句打下基础。
学习时要注意结合实际问题,将已经学过的各种C语句进行综合运用,解决实际问题。教学对象分析
小学阶段学习的Scratch这种基于图形化界面的编程语言中也涉及循环结构的应用,这对于学生学习本课的for循环和while循环有很大的帮助。教师在教学的时候,应当充分考虑这个因素,引导学生在两者之间进行对比。
for循环和while循环本身存在着一定的抽象性,具有比较复杂的语法结构,循环语句中有多个构成循环的元素,所以学生对于for循环和while循环的理解上需要一定的抽象思维能力。教师在引导学生学习的时候,要注意帮助学生理解这些抽象概念,通过流程图等形式帮助学生理解较为抽象的循环语句的执行过程,从而进一步掌握for循环和while循环的使用方法。
由于学生尚不具备特别丰富的编程经验,所以教师在教学中要注意,学生在具体应用的时
候,有可能会混淆for循环和while循环语句的语法元素,产生不必要的编译错误,这点在教学中要有足够的准备,对相应的语法细节进行对比和辨析。
教学目标
1.理解for循环语句的基本结构和执行过程。
2.能够运用for循环语句编程解决较为简单的实际问题。
3.理解while循环语句的基本结构和执行过程。
4.能够运用while循环语句编程解决较为简单的实际问题。
学重点和难点
1.教学重点。
(1)for循环语句的执行流程。
(2)while循环语句的结构。
2.教学难点。
(1)编写for循环结构的代码解决实际问题。
(2)编写while循环结构的代码解决实际问题。
教学方法
1.讲授法:参照教材的流程图,直接讲授for循环语句的执行流程。
2.任务驱动教学法:立足于教材,给学生布置数青蛙接龙游戏的编程任务,引导学生在实践中不断体验for循环和while循环语句的执行过程,进而潜移默化地理解循环结构的应用方法。
3.类比法:循环语句在逻辑上都是相通的,在学了for循环语句的基础上,将while循环语句和for循环语句做对比,让学生清楚地认识到两者之间存在的差异和共性,从而使学生能够对循环结构的程序设计融会贯通。不要拘泥于循环语句本身的表面语法差异,而产生只见树不见林的结果。
教学准备
1.教学环境。
多媒体网络教室。
2.教学资源。
C语言源代码样例。
教学过程
第15课时
一、引入新课(5分钟)
1.播放数青蛙接龙游戏的儿歌视频。
“一只青蛙,一张嘴,两只眼睛,四条腿....”一直数下去,数到100只青蛙。
2.引言,这是小时候很多人曾经玩过的游戏。对于已经进人青少年时期的中学生米说,再玩这个游戏就显得有此枯燥了。但是如果我们换一种形式,通过编程来指挥计算机玩这个接龙游戏,是不是别有一番趣味呢?
3.提问;为了完成这个编程任务,我们可以怎样编写代码?
4.讨论:教材P87参考程序的这种做法好不好?有哪些不足的地方值得我们改进?
5.分析:使用这种方法写代码,需要不断地使用printf输出函数,不断地重复类似的工作流程,把每一只青蛙的嘴巴、眼睛和腿的数量都输出出来,这虽然可行,但却使得我们的程序非常繁琐。
为此,C语言提供了循环语旬,可以帮助我们解决这些相似的重复执行的工作,这就是我们今天要学习的:for循环语句。
二、学习for循环语句结构(10分钟)
在屏幕上展示for循环语句的语法结构,并结合教材图7-1的流程图,解释for循环的执行顺
序。特别要重点解释表达式1、2、3执行的顺序,以及它们在循环的各个阶段起到什么样的作用。
三、基础编程(15分钟)
l.布置课堂任务一:利用讲解过的for循环语句,尝试着让计算机数3只青蛙。
2.教师进行随堂检查和辅导,重点发现那些具有典型意义的错误,并且及时进行讲评。
预设错误:有的学生会误把for循环语句括弧中的分号写成逗号;有的学生会漏掉某一个循环语句的要素;还有的学生没有控制好for循环的执行条件,导致循环次数和预期不符。
针对这些错误 ,逐一进行点评,特别是循环执行条件部分的错误,会严重影响到循环执行的次数。要注意引导学生认识到循环条件和循环变量的增量,二者互相配合共同形成循环体不断执行的效果。
3.要求学生改变自己的代码,尝试着将数3只青蛙的代码变成数5只青蛙的代码。
4.巡视课堂,看看谁写的代码最简洁,谁能够写出几种不同的代码,让计算机数出8只青蛙
的眼睛、嘴巴和腿。
5.以课本参考程序2为例,解释数5只青蛙的for循环程序代码。
6.提问,我们现在这个程序还存在哪些不足?
预设回答:这个程序现在只能够数固定数量的青蛙,如果能够根据用户的需求数出用户想要数的青蛙,那就更好了。
7.布置课堂任务二:改进我们的代码,让用户输入青蛙的起始数量和终止数量,让计算机数出特定数量范围之内的青蛙。
8.展示代码范例并讨论:如果没有for循环语句的帮助,我们是否可以用原有的顺序结构和分支结构来实现数特定数量范围内的青蛙这一编程任务?
充分尊重学生的讨论,让学生积极动手尝试改进自己的代码,也许会有学生认为不需要使用循环结构也能完成这一编程任务教师应给出充分的时间让这些学生进行尝试。
四、拓展编程(10分钟)
1.布置课堂任务三:解读猴子摘桃问题,组织学生编写程序。
提醒学生在开始编程之前,要用心体会猴子摘桃和之前的数青蛙接龙游戏有哪些相似之处,它们的编码逻辑结构是不是有相互借鉴的地方。
2.讲评猴子摘桃问题的示例代码。
3.对于学有余力的学生给出课堂任务四:实践创新任务:韩信点兵。
在组织学生开始编程之前,先要进行充分的讨论,韩信点兵的任务和之前的猴子摘桃有哪些相似之处?又有哪些不同?
预设回答:韩信点兵问题没有明显的循环过程,仅从问题描述本身难以发现解题方法。
提示学生先进行手工计算,发现问题的求解规律。
4.展示范例代码,并进行点评。
五、复习本课(5分钟)
结合本节课所谈到的编程实例,再次复习for循环语句的语法结构和运行流程,为下一节课 while循环语句的学习做好铺垫。
第16课时
一、引入新课(2分钟)
之前学习的for循环语句给予我们一个指挥计算机反复不断地执行相似任务,从而解决问题的工具。C语言中除了for循环语句,还有一种常见的 while循环语句,这是我们今天这节课要学习的内容。
二、介绍 while语句的基本语法(15分钟)
1.结合教材图7-3的流程图,讲解 while循环语句的语法元素和执行过程。
2.布置课堂任务一:将数青蛙接龙游戏程序用 while语句进行改写。
3.随堂辅导,点评学生的典型代码。
4.组织讨论:分别用for循环和while循环实现同样功能的程序,它们的代码有哪些相似之处?这说明了for循环和while循环存在哪些共性?
三、练习巩固新知(15分钟)
布置课堂任务二:使用while循环语句完成电子密码锁的模拟程序。
在编程任务开始之前,要注意提醒学生,程序员无法确知用户究竟需要尝试多少次才能输入正确的密码。
这一特性是之前的编程任务所没有的,所以我们在处理这个问题的时候,可以有多种不同的解决方案,学生对此可以各抒己见,灵活运用之前所学分支结构的知识来解决问题。
四、拓展提升(10分钟)
1.点评学生的典型代码。分享学生对于该问题的解决方案和策略。对于学生不同的问题解决方案教师应当以鼓励为主。
2.在此基础上,教师布置课堂任务三:折纸问题。
在开始任务之前,组织学生讨论这个问题和之前的电子密码锁的模拟问题有何相似之处。
预设回答:这两个问题在循环开始之前,无法轻易确知循环所需执行的次数。
3.分析典型代码,进行交流和展示。
4.对于学有余力的学生提出如下问题:能否使用for循环语句解决折纸问题?
五、复习与回顾(3分钟)
通过本节课的学习,我们了解并且运用了while循环语句来解决问题。虽然我们学习的是循环结构的程序设计,但是大家从中应该要体会到对以往的顺序结构和分支结构所学知识的综合应用。
编程是解放计算机计算能力的手段,利用我们所学的程序设计知识,解决实际问题,是信息技术的核心价值之一。
教学反思
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论