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