- 浙教版(2019)信息技术 必修1 3.2.1-3.2.2 Python语言程序设计——语言基础与顺序结构 教学设计 教案 10 次下载
- 浙教版(2019)信息技术 必修1 3.2.3 Python语言程序设计——分支结构的程序实现 教学设计(2课时) 教案 11 次下载
- 浙教版(2019)信息技术 必修1 3.2.5 Python语言程序设计——函数和模块 教学设计(2课时) 教案 9 次下载
- 浙教版(2019)信息技术 必修1 3.3.1 简单算法及其程序实现——解析算法及其程序实现 教学设计 教案 8 次下载
- 浙教版(2019)信息技术 必修1 3.3.2 简单算法及其程序实现——枚举算法及其程序实现 教学设计 教案 8 次下载
必修1 数据与计算3.2 Python语言程序设计优质课教学设计
展开循环结构的程序实现—for语句教学设计
课程标准 和 教学目标 | 循环结构的程序实现—for语句 | |||
教材内容: 3.2.4 循环结构的程序实现 1.for语句 | ||||
适应的课程标准: 1.7掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程。 | ||||
教学目标: ●掌握for语句的格式。 ●掌握range函数的用法。 ●学会利用for语句编写循环结构的程序。 ●学会按照问题需求,抽象问题的本质,建立问题模型,设计相应算法,编写Python语言的程序,从而掌握编写程序的过程与方法。 | 指向的核心素养: ●信息意识:能够根据解决问题的需要,自觉、主动地获取与处理信息。 ●计算思维:(1)在信息活动中能够采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据。(2)通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。 | |||
学习环境:有教学控制软件的多媒体机房,需要安装Python编程环境。 | ||||
建议课时:1课时 | ||||
教学活动设计 | 教学环节 | 教学过程 | 设计意图 | |
情境导入 | 教师引导学生针对下面问题进行思考、讨论。 问题1:现在有一个列表hobby = ["篮球", "羽毛球", "看书", "旅行", "音乐"],如果要将hobby中的所有元素输出到屏幕上(一行一个元素),这属于何种控制结构? 问题2:如果要将1到20的所有整数都输出到屏幕上,这属于何种控制结构? | 问题1与问题2都属于循环结构的算法例子,通过循环结构的算法实例引出本节课的内容—循环结构的程序实现。 | ||
新课教学 | ●知识讲解--for语句的格式和for语句的例子 教师讲解Python中for语句的格式: for <变量> in <序列>: <循环体> For语句通过遍历序列中的元素实现循环,并通过序列的元素数量来控制循环次数,即循环过程,序列中的每个元素都会依次被赋值给变量,并分别执行一次循环体。随后,教师演示通过for语句编程实现情境导入—问题1。 for x in hobby: print(x) 以上程序会依次在屏幕上输出hobby中的每一个元素。 ●学习任务--for语句编程实践 ①有一个表示编程语言的列表langs = ["C#", "Java", "JavaScript", "Ruby", "Python", "clojure", "Go", "Rust"],请编写程序在屏幕上输出名称少于6个字符的编程语言。 参考答案: 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语句比较方便。 ●学习任务—热量消耗计算 人体运动时,热量的消耗取决于多方面的因素。进行同样的运动,体重越重所消耗的热量就越高。运动项目、运动强度、运动量等因素的不同也会导致所消耗的热量有较大的差异。请查阅相关资料,估算某一天你的主要运动所消耗的热量,并编程计算总量。 任务1:通过网络查找运动、运动时间、热量消耗之间的关系,根据自己的实际情况将自己一天当中主要运动的时间和该运动消耗的热量绘制成表格。然后根据绘制的表格抽象出总热量计算的公式。 从网络上查找到的运动需要消耗的热量主要和运动类型及其运动时间有关,比如慢走一般是1小时4公里,消耗的热量是255卡,单车1小时消耗的热量是415卡。所以,在绘制表格的时候要表明运动项目,每小时的消耗和运动时间(单位为小时)。 分析表,可以得到热量消耗的计算模型如下: (其中s为总热量,为运动每小时消耗热量,为该项运动运动时间。) 任务2:小组合作讨论绘制该算法的流程图。
任务3:小组合作编写“热量消耗”计算的完整程序。 参考答案: 在本算法中,我们为了确保存储数据的完整性和可读性,列表的每一项都用字典来表示,比如慢走这项运动表示如下: {'运动项目':'慢走', '每小时消耗': 255, '运动时间': 0.5} 整个列表如下: data =[ {'运动项目':'慢走', '每小时消耗': 255, '运动时间': 0.5}, {'运动项目':'慢跑', '每小时消耗': 655, '运动时间': 0.5}, {'运动项目':'单车', '每小时消耗': 245, '运动时间': 0.2}, {'运动项目':'爬楼梯', '每小时消耗': 480, '运动时间': 0.2}, {'运动项目':'游泳', '每小时消耗': 550, '运动时间': 1}, {'运动项目':'手球', '每小时消耗': 600, '运动时间': 0.5}, ] s = 0 for item in data: s = s + item['每小时消耗'] * item['运动时间'] print(s) 任务4:将任务3的for语句修改为如下形式,完成划线处的代码。 s = 0 for i in range(0, len(data)): s = s + print(s) | 通过讲解for语句的格式以及for语句的实际应用,让学生了解for语句的格式和for语句的使用。
该任务需要学生使用已经初步了解的for语句来解决问题,而且需要结合已经学习过的分支结构if语句的实现,有一定的综合性,让学生通过实践从了解for语句的使用上升到掌握for语句的使用,并能够结合前面学过的分支结构解决简单算法问题。
通过自主学习理解range函数,通过学习任务进一步掌握range函数的使用,并能够使用range函数根据需要生成需要的整数区间。
通过讨论让学生理解for语句的特点机器适用的场景,让学生可以针对具体情境判断是否使用for循环。
通过任务1培养学生根据解决问题的需要,自觉、主动地获取与处理信息的信息意识,随后对热量消耗问题进行抽象与建模,得到解决该问题的计算模型。
通过绘制“热量消耗”算法流程图让学生进一步加强算法的设计与描述能力,对该算法有一个清晰的认识,为接下来的程序编写打下良好的基础。 通过编写“热量消耗”计算的完整程序,让学生进一步巩固for语句的使用,提升学生使用for语句解决真实情境的问题的能力。该任务的解决,也让学生亲历“抽象与建模、设计算法、编写程序”的过程,能够使学生更加全面而深刻地掌握用算法解决问题的一般过程与方法,突破本节课的难点。
让学生掌握for语句与range函数配合使用的方法,扩宽学生视野,让学生在实现算法的时候能够有更多的选择。 | ||
课堂小结 | 知识梳理: 1. for语句的格式 2. for语句的特点与适用场景; 3. range函数; 4. 算法解决问题的一般过程与方法。 | 通过回顾总结帮助学生巩固for语句的格式、特点、适用场景、使用和range函数,回顾“抽象与建模、设计算法、编写程序”的过程,使学生更牢固的掌握用算法解决问题的一般过程与方法。 | ||
作业布置 | 基础作业(面向所有学生): 本节配套课后作业 提升作业(面向学有余力学生): 通过网络查询Python的for语句的底层实现机制,更加深刻的理解Python的for语句。 | 课后作业是课堂学习的延伸,是巩固和升华知识点的有效途径。根据学生的基础和能力设置不同难度的作业,以满足不同层次的学生需求。 | ||
教学设计思路 | 本课主要采用案例教学法与任务驱动法来进行教学。本课主要围绕真实情境问题“运动消耗热量计算”这个案例展开教学,学生通过完成教师布置的一项项任务最终完成解决该问题的程序。 本课首先通过一些循环的例子进行导入。让学生理解循环结构是对某些语句反复执行。当学生理解了for语句的格式与使用之后,完成2个for语句编程实践(输出字符较少的编程语言名称和输出偶数)理解和掌握for语句的简单实用。其中第二个编程实践是输出偶数,使用的是range函数,range函数与for语句配合使用的情况很多,range函数又是相对来说比较简单的,所以range函数掌握通过自主学习完成。随后通过讨论的形式来分析for语句的特点和适用场景。for语句是在一个序列上循环,并通过序列的元素数量来控制循环次数,因此在循环次数明确的情况下使用for语句比较方便。 学生在掌握了for语句格式与for语句使用的基础上,开始解决真实情境中的“运动热量消耗计算”问题,引导学生经历“抽象与建模、设计算法、编写程序”的过程,培养、提升学生的计算思维。 真实情境中的问题通常比较复杂,教师要做好设计者和激励者的角色。教师应该讲问题先进行分解,转化为一系列步骤,并将这些步骤设计成学生能够完成的任务,通过任务驱动来完成整个问题的程序设计。学生在完成这些任务的时候可以分组,通过讨论合作完成任务,教师再次过程中要对学生的活动进行引导,并激励学生,帮助学生一步一步的完成该问题的程序设计。在完成第1个任务的时候着重培养能够根据解决问题的需要,自觉、主动地获取与处理信息的信息意识和在信息活动中能够采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据的计算思维。在完成第2个任务的时候着重培养通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案的计算思维。在完成第3个任务的时候着重培养能够编写简单程序用以解决问题的计算思维。 本节课的重点教学建议通过for语句编程时间和真实情境问题的解决来进行,难点的突破主要在通过真实情境问题的解决。 | |||
针对 核心素养培养的 设计考虑 | 本课所使用的案例“运动消耗热量计算”是一个真实情境的问题,使用计算机编程来解决真实情境的问题,可以让学生经历“抽象建模”—“设计算法”—“编写程序”这几个步骤, 因此,在设计本课的时候,核心素养的培养主要聚焦在了计算思维的培养上,但是“运动消耗热量计算”不同于3.1中绘制多边形的问题,它需要具体的数据支撑(需要运动项目和消耗热量等数据),所以在“抽象建模”阶段也顺带培养了信息意识。 本课在具体设计的时候,通过3个任务,让学生充分体验“抽象建模”—“设计算法”—“编写程序”这3个步骤。 抽象建模阶段。设计第1个任务:计算某一天主要运动的所消耗的总热量。要计算总热量,学生需要分析总热量和哪些因素相关,最终计算的总热量和这些因素之间存在怎样的关系,即得出计算模型。在完成这个任务的过程中,培养了学生通过计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据的计算思维。分析出相关的因素之后,还需要收集相关数据,没有数据光有计算模型无法进行计算。因此,在相关数据的收集的过程中又附带培养了根据解决问题的需要,自觉、主动地获取与处理信息的信息意识。第2个任务设计算法。 第2个任务主要让学生小组合作完成解决该问题的流程图。通过绘制解决该问题的流程图,培养学生分析与综合各种信息资源,运用合理的算法形成解决问题的方案的计算思维。在这个阶段,教师应该给予学生充分的时间让学生思考和讨论,教师给予适当的引导,让学生的计算思维能够得到充分的培养。 第3个任务是编写程序。在这个任务中,学生需要根据完成的流程图来把解决该问题的实际程序编写出来。在这个阶段,应该让学生对写好的程序多进行测试,对于学生出现的问题教师给予解答,对于比较普遍的问题可以拿出来当堂讨论。在此过程中,培养学生能够编写简单程序用以解决问题的计算思维。 在“运动消耗热量计算”的3个任务完成以后,还设计了一个使用range改写程序的任务,目的是通过这个任务进一步提升学生编写简单程序用以解决问题的计算思维。 | |||
信息技术必修1 数据与计算第三章 算法的程序实现3.2 Python语言程序设计优秀教案设计: 这是一份信息技术必修1 数据与计算第三章 算法的程序实现3.2 Python语言程序设计优秀教案设计,文件包含浙教版2019必修1数据与计算3251函数教学设计docx、浙教版2019必修1数据与计算3252模块教学设计docx等2份教案配套教学资源,其中教案共9页, 欢迎下载使用。
信息技术必修1 数据与计算3.2 Python语言程序设计公开课教学设计: 这是一份信息技术必修1 数据与计算3.2 Python语言程序设计公开课教学设计,文件包含浙教版2019必修1数据与计算3231分支结构的程序实现if-elif教学设计docx、浙教版2019必修1数据与计算3231分支结构的程序实现if教学设计docx等2份教案配套教学资源,其中教案共11页, 欢迎下载使用。
信息技术必修1 数据与计算3.2 Python语言程序设计公开课教案: 这是一份信息技术必修1 数据与计算3.2 Python语言程序设计公开课教案,共6页。