1、循环结构的程序实现循环结构的程序实现for 语句教学设计语句教学设计循环结构的程序实现for 语句循环结构的程序实现for 语句教材内容:教材内容:3.2.4 循环结构的程序实现 1.for 语句适应的课程标准:适应的课程标准:1.7 掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程。教学目标:教学目标:掌握 for 语句的格式。掌握 range 函数的用法。学会利用 for 语句编写循环结构的程序。学会按照问题需求,抽象问题的本质,建立问题模型,设计相应算法,编写 Python 语言的程序,从而掌握编写程序的过程与方法。指向的核心素养:指
2、向的核心素养:信息意识:能够根据解决问题的需要,自觉、主动地获取与处理信息。计算思维:(1)在信息活动中能够采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据。(2)通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。学习环境:学习环境:有教学控制软件的多媒体机房,需要安装 Python 编程环境。课程标准课程标准和和教学目标教学目标建议课时:建议课时:1 课时教学环节教学环节教学过程教学过程设计意图设计意图情境导入情境导入教师引导学生针对下面问题进行思考、讨论。问题 1:现在有一个列表 hobby=篮球,羽毛球,看书,旅行,音乐,如果要将 hobby 中的
3、所有元素输出到屏幕上(一行一个元素),这属于何种控制结构?问题 2:如果要将 1 到 20 的所有整数都输出到屏幕上,这属于何种控制结构?问题 1 与问题 2 都属于循环结构的算法例子,通过循环结构的算法实例引出本节课的内容循环结构的程序实现。教学活动设计教学活动设计新课教学新课教学知识讲解-for 语句的格式和 for 语句的例子教师讲解 Python 中 for 语句的格式:for in:For 语句通过遍历序列中的元素实现循环,并通过序列的元素数量来控制循环次数,即循环过程,序列中的每个元素都会依次被赋值给变量,并分别执行一次循环体。随后,教师演示通过 for 语句编程实现情境导入问题1
4、。for x in hobby:print(x)以上程序会依次在屏幕上输出 hobby 中的每一个元素。学习任务-for 语句编程实践有一个表示编程语言的列表 langs=C#,Java,JavaScript,Ruby,Python,clojure,Go,Rust,请编写程序在屏幕上输出名称少于 6 个字符的编程语言。通过讲解 for 语句的格式以及 for 语句的实际应用,让学生了解 for 语句的格式和for 语句的使用。该任务需要学生使用已经初步了解的 for语句来解决问题,而且需要结合已经学习过的分支结构 if 语句的实现,有一定的综合性,让学生通过实践从了解 for 语句的使用上升到
5、掌握 for 语句的使用,并能够参考答案:for lang in langs:if len(lang)=6:print(lang)学生自主学习教材中关于 range函数的使用及其说明。随后编程实现输出 20 以内的偶数。参考答案 1:for i in range(2,22,2):print(i)参考答案 2:for i in range(2,21):if i%2=0:print(i)学习任务讨论 for 语句的特点和使用场景问题:for 语句有何特点?什么情况下使用比较合适?参考答案:for 语句是在一个序列上循环,并通过序列的元素数量来控制循环次数,因此在循环次数明确的情况下使用 for 语
6、句比较方便。学习任务热量消耗计算学习任务热量消耗计算人体运动时,热量的消耗取决于多方面的因素。进行同样的运动,体重越重所消耗的热量就越高。运动项目、运动强度、运动量等因素的不同也会导致所消耗的热量有较大的差异。请查阅相关资料,估算某一天你的主要运动所消耗的热量,并编程计算总量。任务 1:通过网络查找运动、运动时间、热量消耗之间的关系,根据自己的实际情况将自己一天当中主要运动的时间和该运动消耗的热量绘制成表格。然后根据绘制的表格抽象出总热量计算的公式。从网络上查找到的运动需要消耗的热量主要和运动类型及其运动时间有关,比如慢走一般是 1 小时 4 公里,消耗的热量是 255 卡,单车 1 小时消耗
7、的热量是 415卡。所以,在绘制表格的时候要表明运动项目,每小时的消耗和运动时间(单位为小时)。分析表,可以得到热量消耗的计算模型如下:s=ni=0(其中 s 为总热量,为运动每小时消耗热量,为该项运动运动时间。)任务 2:小组合作讨论绘制该算法的流程图。任务 3:小组合作编写“热量消耗”计算的完整程序。参考答案:在本算法中,我们为了确保存储数据的完整性和可读性,结合前面学过的分支结构解决简单算法问题。通过自主学习理解 range 函数,通过学习任务进一步掌握 range 函数的使用,并能够使用 range 函数根据需要生成需要的整数区间。通过讨论让学生理解 for 语句的特点机器适用的场景,
8、让学生可以针对具体情境判断是否使用 for 循环。通过任务 1 培养学生根据解决问题的需要,自觉、主动地获取与处理信息的信息意识,随后对热量消耗问题进行抽象与建模,得到解决该问题的计算模型。通过绘制“热量消耗”算法流程图让学生进一步加强算法的设计与描述能力,对该算法有一个清晰的认识,为接下来的程序编写打下良好的基础。通过编写“热量消耗”计算的完整程序,列表的每一项都用字典来表示,比如慢走这项运动表示如下:运动项目:慢走,每小时消耗:255,运动时间:0.5整个列表如下:data=运动项目:慢走,每小时消耗:255,运动时间:0.5,运动项目:慢跑,每小时消耗:655,运动时间:0.5,运动项目
9、:单车,每小时消耗:245,运动时间:0.2,运动项目:爬楼梯,每小时消耗:480,运动时间:0.2,运动项目:游泳,每小时消耗:550,运动时间:1,运动项目:手球,每小时消耗:600,运动时间:0.5,s=0for item in data:s=s+item每小时消耗*item运动时间print(s)任务 4:将任务 3 的 for 语句修改为如下形式,完成划线处的代码。s=0for i in range(0,len(data):s=s+print(s)让学生进一步巩固 for 语句的使用,提升学生使用 for 语句解决真实情境的问题的能力。该任务的解决,也让学生亲历“抽象与建模、设计算法
10、、编写程序”的过程,能够使学生更加全面而深刻地掌握用算法解决问题的一般过程与方法,突破本节课的难点。让学生掌握 for 语句与 range 函数配合使用的方法,扩宽学生视野,让学生在实现算法的时候能够有更多的选择。课堂小结课堂小结知识梳理:1.for 语句的格式2.for 语句的特点与适用场景;3.range 函数;4.算法解决问题的一般过程与方法。通过回顾总结帮助学生巩固 for 语句的格式、特点、适用场景、使用和 range 函数,回顾“抽象与建模、设计算法、编写程序”的过程,使学生更牢固的掌握用算法解决问题的一般过程与方法。作业布置作业布置基础作业(面向所有学生):本节配套课后作业提升作
11、业(面向学有余力学生):通过网络查询 Python 的 for 语句的底层实现机制,更加深刻的理解 Python 的 for 语句。课后作业是课堂学习的延伸,是巩固和升华知识点的有效途径。根据学生的基础和能力设置不同难度的作业,以满足不同层次的学生需求。教学设计思路教学设计思路本课主要采用案例教学法与任务驱动法来进行教学。本课主要围绕真实情境问题“运动消耗热量计算”这个案例展开教学,学生通过完成教师布置的一项项任务最终完成解决该问题的程序。本课首先通过一些循环的例子进行导入。让学生理解循环结构是对某些语句反复执行。当学生理解了 for 语句的格式与使用之后,完成 2 个 for 语句编程实践(
12、输出字符较少的编程语言名称和输出偶数)理解和掌握 for 语句的简单实用。其中第二个编程实践是输出偶数,使用的是 range 函数,range 函数与 for 语句配合使用的情况很多,range函数又是相对来说比较简单的,所以 range 函数掌握通过自主学习完成。随后通过讨论的形式来分析 for 语句的特点和适用场景。for 语句是在一个序列上循环,并通过序列的元素数量来控制循环次数,因此在循环次数明确的情况下使用 for 语句比较方便。学生在掌握了 for 语句格式与 for 语句使用的基础上,开始解决真实情境中的“运动热量消耗计算”问题,引导学生经历“抽象与建模、设计算法、编写程序”的过
13、程,培养、提升学生的计算思维。真实情境中的问题通常比较复杂,教师要做好设计者和激励者的角色。教师应该讲问题先进行分解,转化为一系列步骤,并将这些步骤设计成学生能够完成的任务,通过任务驱动来完成整个问题的程序设计。学生在完成这些任务的时候可以分组,通过讨论合作完成任务,教师再次过程中要对学生的活动进行引导,并激励学生,帮助学生一步一步的完成该问题的程序设计。在完成第 1 个任务的时候着重培养能够根据解决问题的需要,自觉、主动地获取与处理信息的信息意识和在信息活动中能够采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据的计算思维。在完成第 2 个任务的时候着重培养通过判断、分析
14、与综合各种信息资源,运用合理的算法形成解决问题的方案的计算思维。在完成第 3 个任务的时候着重培养能够编写简单程序用以解决问题的计算思维。本节课的重点教学建议通过 for 语句编程时间和真实情境问题的解决来进行,难点的突破主要在通过真实情境问题的解决。针对针对核心素养培养的核心素养培养的设计考虑设计考虑本课所使用的案例“运动消耗热量计算”是一个真实情境的问题,使用计算机编程来解决真实情境的问题,可以让学生经历“抽象建模”“设计算法”“编写程序”这几个步骤,因此,在设计本课的时候,核心素养的培养主要聚焦在了计算思维的培养上,但是“运动消耗热量计算”不同于3.1 中绘制多边形的问题,它需要具体的数
15、据支撑(需要运动项目和消耗热量等数据),所以在“抽象建模”阶段也顺带培养了信息意识。本课在具体设计的时候,通过 3 个任务,让学生充分体验“抽象建模”“设计算法”“编写程序”这 3 个步骤。抽象建模阶段。设计第 1 个任务:计算某一天主要运动的所消耗的总热量。要计算总热量,学生需要分析总热量和哪些因素相关,最终计算的总热量和这些因素之间存在怎样的关系,即得出计算模型。在完成这个任务的过程中,培养了学生通过计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据的计算思维。分析出相关的因素之后,还需要收集相关数据,没有数据光有计算模型无法进行计算。因此,在相关数据的收集的过程中又附带培
16、养了根据解决问题的需要,自觉、主动地获取与处理信息的信息意识。第 2 个任务设计算法。第 2 个任务主要让学生小组合作完成解决该问题的流程图。通过绘制解决该问题的流程图,培养学生分析与综合各种信息资源,运用合理的算法形成解决问题的方案的计算思维。在这个阶段,教师应该给予学生充分的时间让学生思考和讨论,教师给予适当的引导,让学生的计算思维能够得到充分的培养。第 3 个任务是编写程序。在这个任务中,学生需要根据完成的流程图来把解决该问题的实际程序编写出来。在这个阶段,应该让学生对写好的程序多进行测试,对于学生出现的问题教师给予解答,对于比较普遍的问题可以拿出来当堂讨论。在此过程中,培养学生能够编写
17、简单程序用以解决问题的计算思维。在“运动消耗热量计算”的 3 个任务完成以后,还设计了一个使用 range 改写程序的任务,目的是通过这个任务进一步提升学生编写简单程序用以解决问题的计算思维。循环结构的程序实现循环结构的程序实现while 语句教学设计语句教学设计循环结构的程序实现while 语句循环结构的程序实现while 语句教材内容:教材内容:3.2.4 循环结构的程序实现 2.while 语句适应的课程标准:适应的课程标准:1.7 掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程。教学目标:教学目标:掌握 while 语句的格式。学
18、会使用 while 语句编写循环结构的程序。学会按照问题需求,抽象问题的本质,建立问题模型,设计相应算法,编写 Python 语言的程序,从而掌握编写程序的过程与方法。指向的核心素养:指向的核心素养:计算思维:(1)在信息活动中能够采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据。(2)通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。数字化学习与创新:掌握数字化学习系统、学习资源与学习工具的操作技能,用于开展自主学习。学习环境:学习环境:有教学控制软件的多媒体机房,需要安装 Python 编程环境。课程标准课程标准和和教学目标教学目标建议课时:建议课时
19、:1 课时教学环节教学环节教学过程教学过程设计意图设计意图教学活动设计教学活动设计情境导入情境导入教师引导学生一起体验本节课要完成的任务-猜数字游戏。猜数字游戏:给定一个数字让用户猜,用户输入猜测的数字,计算机给出相应的提示:“偏大”、“偏小”或“正确”。若所猜数字正确,则游戏结束;否则继续猜数。让学生体验几次猜数字游戏,随后回答如下的问题:问题 1:每次猜数字的过程中,计算机程序是否重复执行了特定的步骤?这个重新执行的特定步骤是什么?参考答案:用户输入猜测的数字,若正确,游戏结束;若猜测的数字偏大,显示“偏大”,继续猜数;若猜测的数字偏小,显示“偏小”继续猜数。问题 2:每次猜到正确数字的次
20、数是否相同?用 for 循环能够实现猜数字的游戏?参考答案:不同。for 语句用于循环次数明确的问题的编程,而猜数字游戏每次运行循环的次数都是不同的,因此无法使用 for 语句来编程解决该问题。通过体验猜数字游戏明确本节课的任务。通过问题 1 让学生明白猜数字游戏的过程本质上是循环,通过问题 2 明确该猜数字游戏与上节课用 for 语句实现的循环算法问题不同,它的循环次数是不确定的,从而引出本节课的内容 while 语句。新课教学新课教学如果循环的执行次数是未知的,可以使用 while 循环来编程解决该类问题。自主学习-while 语句的格式及其使用(1)自主学习教师提供的微课-while 语
21、句的格式和的使用。while 循环的格式:while 条件:while 循环在执行时,首先会判断条件是否为真,如果条件为真,执行一次循环体,在此判断条件是否为真,如果仍威震,那么再执行一次循环体,以此类推,直到条件为假时推出 while 语句。while 语句的使用:地球到月球的距离是 38.4 万千米,一张 A4 纸的厚度大约是 0.1 毫米,将这张 A4 纸不停的对折,请问对折多少次,纸的厚度将到达月球?d=38.4*10000*1000*100*10#地月距离h=0.1#A4 纸的厚度c=0#对折的次数while h=d:c+=1 h*=2print(c)(2)while 语句程序填空完
22、成程序填空:程序从命令行输入一个大于 1 的整数,能够判断该数是否为素数。根据素数的定义,素数除了 1和它本身以外不再有其他因数。所以判断 n 是否为素数,只要判断 2 到 n-1 是否存在 n 的因数即可。分析该问题,只需要找到 2 到 n-1 中的第一个因数就能证明 n 是非素数,程序便可以输出结果,所以不需要把 2到 n-1 的所有数字都进行检验。但是,通过几次检验找到因数是不确定的,所以该问题适合用 while 语句编程解决。在解决该问题时,可以先假设 n 是素数,然后依次检验 2 到 n-1 的数字,找到第一个因子,假设不成立,循环结束,程序输出结果;如果 2 到 n-1 没有一个数
23、字是 n 的因子,假设没有被推翻,n 是素数。参考答案(划线处为填空):n=int(input(请输入一个大于 1 的整数:)i=2is_prime=Truewhile i=n 1 and is_prime:if n%i=0:is_prime=False i+=1通过自主学习教师提供的 while 语句的格式和使用的微课理解 while 循环的格式和使用,初步理解 while 循环的循环变量与条件控制。该任务需要学生在理解 while 语句格式和使用的基础上来解决问题,让学生在掌握while 语句的格式和使用,特别是加深对while 循环变量与控制条件的理解。if is_prime:print
24、(str(n)+是素数。)else:print(str(n)+不是素数。)学习任务“猜数字游戏”编程实现学习任务“猜数字游戏”编程实现编程实现本课开始演示的“猜数字游戏”。任务 1:小组合作完成“猜数字游戏”的抽象与建模。参考答案:游戏中首先要确定一个数 number,然后将用户猜测的数 guess 与 number 比较,直到相等为止。通过上述的问题抽象,建立如下模型:“正确”(guess=number),游戏结束。猜数结果“偏小”(guessnumber),继续猜数。任务 2:小组合作讨论绘制该算法的流程图。任务 3:小组合作编写“热量消耗”计算的完整程序。参考答案:running=Tru
25、enumber=66while running:guess=int(input(请输入猜测的数:)if guess=number:print(正确)running=False else:if guess number:print(偏小)else:print(偏大)任务 4:程序改进。(1)观看老师提供的关于 break 语句的微课,小组讨论在“猜数游戏”中,若不引入布尔型变量(本例中的 running),程序该如何实现?(2)小组讨论,用户最多只能猜 5 次程序该如何实现?参考答案:(1)如果在循环条件仍然为假的时候想要跳出循环,可对“猜数字问题”进行抽象与建模,得到解决该问题的计算模型。通过
26、绘制“猜数字”算法流程图让学生进一步加强算法的设计与描述能力,对该算法有一个清晰的认识,为接下来的程序编写打下良好的基础。通过编写“猜数字游戏”的完整程序,让学生进一步掌握 while 语句的使用,提升学生使用 while 语句解决真实情境问题的能力。该任务的解决,也让学生亲历“抽象与建模、设计算法、编写程序”的过程,能够使学生更加全面而深刻地掌握用算法解决问题的一般过程与方法,完成本节课的重点教学。让学生掌握 break 语句的使用,能够根据真实情境的需求改进程序。通过让学生进一步的掌握 while 循环的循环变量与条件控制,突破本节课的难点。以用 break 语句。(2)可以设置一个循环变
27、量 count,每次猜数字后将count 的值累加 1,count 如果超过 5,退出循环结束执行。number=66count=1while count=5:guess=int(input(请输入猜测的数:)if guess=number:print(正确)break else:if guess number:print(偏小)else:print(偏大)count+=1 课堂小结课堂小结知识梳理:1.while 语句的格式2.while 语句的特点与适用场景;3.break 语句的作用;4.算法解决问题的一般过程与方法。通过回顾总结帮助学生巩固 while 语句的格式、特点、适用场景、使用
28、,回顾“抽象与建模、设计算法、编写程序”的过程,使学生更牢固的掌握用算法解决问题的一般过程与方法。作业布置作业布置基础作业(面向所有学生):本节配套课后作业提升作业(面向学有余力学生):“猜数字游戏”的程序能否可以使用 for 语句实现?如果能,请尝试使用 for 语句实现“猜数字游戏”的程序。课后作业是课堂学习的延伸,是巩固和升华知识点的有效途径。根据学生的基础和能力设置不同难度的作业,以满足不同层次的学生需求。教学设计思路教学设计思路本课内容为循环结构的程序实现-while 语句。while 语句相比 for 语句是一种更加通用的循环结构的程序实现语句,适用性更加强。for 语句的主要应用
29、场景是循环次数已知的情况,对于某些循环次数未知的情况,for 语句显得力不从心。而这恰恰是 while 语句擅长的,因此,while 语句是解决循环次数未知的编程问题的一种重要的程序语法结构,学习本课,能够为后续解决各种循环次数未知的实际编程问题打下良好的基础。在上一课学习 for 语句的过程中,学生已经亲历了“抽象与建模、设计算法、编写程序”的过程,有了使用循环结构的程序编程解决实际问题的经验。因此,本课在实施教学的时候采用案例教学法、任务驱动法和自主学习。学生在完成“猜数字游戏”的过程中,通过小组合作、自主学习来学习 while 语句的相关知识,并最终利用学到的知识完成“猜数字游戏”。在教
30、学中,首先让学生玩几次“猜数字游戏”,分析该问题的基本程序结构,循环次数是否固定来引出本节课的教学内容。随后,学生通过自主学习教师提供的数字化学习资源来掌握 while 语句的格式与使用,为了帮助学生进一步的理解和掌握 while 语句的使用,还给学生准备了一个简单的“判断素数”的问题供学生练手。在解决“判断素数”问题的过程中,使学生体验 while 语句解决循环次数不固定的问题的优势,对 while 语句循环变量与控制条件也有更进一步的思考,为本节课的难点教学做好铺垫。学生在掌握了 while 语句格式与 while 语句使用的基础上,再解决“猜数字游戏”问题,培养、提升学生的计算思维。在上
31、一节课的学习中,学生已经有了“抽象与建模、设计算法、编写程序”的经历与体验,所以这个问题的解决完全可以放手给学生做,让学生小组合作完成该问题,教师在这个过程中只需要做好支持者和指导者的角色,帮助学生更好的学习。本节课主要通过完成“猜数字游戏”来完成本节课重点的教学。While 语句的循环变量与控制条件是本节课的难点,学生在初次编写 while 语句的时候经常会忘记循环体中改变循环变量或者忘记修改循环的控制条件,从而导致死循环。对于该难点,在“判断素数”的问题中,已经让学生对于 while 循环的循环变量和条件控制有了一定的体验,在“猜数字游戏”的完成过程中,让学生进一步加强对于 while 循
32、环的循环变量和条件控制的理解,通过限定猜数字的次数和使用 break 语句进一步加深学生对于 while 循环循环变量和条件控制的掌握,突破本节课的难点。针对针对核心素养培养的核心素养培养的设计考虑设计考虑考虑上一节课的学习内容,学生已经掌握了使用 for 语句编写解决循环结构的程序来解决问题的方法,在本节课的学习中可以把更多的主动权交给学生,让学生通过数字化学习来学习本节课的知识,培养学生的数字化学习与创新素养。本课所使用的案例“猜数字游戏”是一个基于真实情境的问题,因此,在解决该问题的过程中必定要经历计算机编程解决问题的一般步骤,而这恰恰非常适合计算思维的培养。在本课的教学中,教师并不像往
33、常那样讲解 while 语句的格式、while 语句的使用、break 语句的使用。而是提供给学生预先准备数字化学习资源,为什么进行数字化学习提供条件。学生通过自主学习教师提供的数字化学习资源来学习 while 语句的格式及其使用,通过学生自主的数字化学习来培养学生掌握数字化学习系统、学习资源与学习工具的操作技能,用于开展自主学习的数字化学习与创新素养。除了提供数字化学习资源,在自主学习的过程中,教师也要做好支持和指导的工作,数字化学习过程中的一些问题给予学生知道与帮助。在掌握 while 语句的格式及使用以后,随后布置学习任务“猜数字游戏”编程实现。按照算法解决问题过程的“抽象建模”“设计算法”“编写程序”的 3 个步骤,让学生小组分工合作最终完成“猜数字游戏”。在“抽象建模”阶段中培养了学生通过计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据的计算思维。在“设计算法”阶段通过绘制解决该问题的流程图,培养学生分析与综合各种信息资源,运用合理的算法形成解决问题的方案的计算思维。在“编写程序”阶段培养学生能够编写简单程序用以解决问题的计算思维。为了进一步的提升学生计算思维,还设计了程序改进的任务,不引入布尔型变量的 break 的程序实现和限制猜数次数的程序实现。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。