- 浙教版(2019)信息技术 必修1 3.2.3 Python语言程序设计——分支结构的程序实现 教学设计(2课时) 教案 11 次下载
- 浙教版(2019)信息技术 必修1 3.2.4 Python语言程序设计——循环结构的程序实现 教学设计(2课时) 教案 11 次下载
- 浙教版(2019)信息技术 必修1 3.3.1 简单算法及其程序实现——解析算法及其程序实现 教学设计 教案 8 次下载
- 浙教版(2019)信息技术 必修1 3.3.2 简单算法及其程序实现——枚举算法及其程序实现 教学设计 教案 8 次下载
- 浙教版(2019)信息技术 必修1 4.1 常用表格数据的处理 教学设计 教案 8 次下载
信息技术必修1 数据与计算第三章 算法的程序实现3.2 Python语言程序设计优秀教案设计
展开模块教学设计
课程标准 和 教学目标 | 模块 | |||
教材内容:本课包含教材3.2.5函数与模块2.模块的导入与应用 | ||||
适应的课程标准: 1.7掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。 | ||||
教学目标: ●理解模块的功能及应用。 ●掌握模块的导入方法。 ●掌握模块中常数和函数的使用。 ●学会利用模块中的常数和函数编写程序解决实际问题。 | 指向的核心素养: ●信息意识:在合作解决问题的过程中,愿意与团队成员共享信息,实现信息的最大价值。 ●计算思维:通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案。针对给定的任务进行需求分析,明确需要解决的关键问题。运用基本算法设计解决问题的方案,能使用编程语言或其他数字化工具实现这一方案。 | |||
学习环境:有教学控制软件的多媒体机房,需要安装Python编程环境。 | ||||
建议课时:1课时 | ||||
教学活动设计 | 教学环节 | 教学过程 | 设计意图 | |
情境导入 | 问题:各位同学,大家应该都见过电工,电工在工作的时候需要用到哪些工具?他是全部拿在手里吗?如果不是,通常是如何保管的? 参考答案: 电工常用的工具:螺丝刀是一种用来拧转螺丝以使其就位的工具。老虎钳用来起钉子或夹断钉子和铁丝,电能表的简称,是用来测量电能的仪表。电工使用的工具比较多,一般不会都拿在手里,不是每样工具每次都要使用到,电工把这些工具按照一定的分类放到不同的工具包中,需要的时候才拿出某个工具使用。 讲解:同样的,Python有很多的内建函数、常数,但是这些函数、常数不可能每次编程都用到,每次都加载这些函数、常数到当前的编程环境中是没有必要的,所以,我们也仿照电工的做法,把这些内建函数和常数放到工具包中,这些工具包在Python中称之为模块。 | 通过电工保管工具的工具包引出本节课的学习内容—模块。通过与生活具体实例对比,让学生理解模块的功能。 | ||
新课教学 | ●知识讲解—模块的导入及使用 导入模块: ① import <模块名> ② from <模块名> import <函数|常数> 例: import math from math import sqrt 调用模块中的函数和常数 第①种方式可以用<模块名>.<函数名>或者<模块名>.<常数>的方式来调用函数名或常数。比如: math.sqrt(9) #结果:3.0 math.pi #结果:3.141592653589793 第②种方式可以直接用<函数名>或者<常数>的方式来调用函数名或常数。比如: sqrt(9) #结果:3.0 pi #结果:3.141592653589793
●学习任务—计算圆面积 任务:编程求圆面积,公式为s=πr^2中的π和r^2分别调用math模块中的圆周率常数math.pi和函数pow来完成。 提示:math.pow(x, y)实现指数运算,得到x的y次方。 参考答案: import math r = float(input("请输入圆的半径r:")) pi = math.pi s = pi * pow(r, 2) print("圆面积是:" + str(s))
●学习任务—合唱比赛出场顺序安排 高一年级的(2)班、(3)班、(5)班、(8)班、(9)班共5个班级的学生参加大合唱比赛,为了公平起见,需要安排他们的出场顺序。请同学们至少提供两种不同的方法来解决该问题。 Random模块中的常用函数: random.random():生成一个[0,1)范围内的实数 random.uniform(a, b):随机生成一个[a,b]范围内的实数 random.randint(a, b):随机生成一个[a,b]范围内的整数 random.choice(seq):从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。 random.sample(seq, k):从序列中随机挑选k个元素 random.shuffle(seq):将序列的所有元素随机排序 参考答案: ①random模块中的函数shuffle接受一个列表作为输入参数,该函数将该列表中的所有元素重新随机排序,然后再将所有元素重新随机排序后的列表作为函数值返回。可以构建一个列表cla = ["(2)班", "(3)班", "(5)班", "(8)班", "(9)班"],然后直接使用shuffle函数得到cla所有元素随机排序的列表。 import random cla = ["(2)班", "(3)班", "(5)班", "(8)班", "(9)班"] random.shuffle(cla) for x in cla: print(x) ②先构建一个班级的列表cla = ["(2)班", "(3)班", "(5)班", "(8)班", "(9)班"],在列表cla中每个班级都对应一个唯一的索引,索引的范围为[0, 4],可以使用random模块的randint函数随机生成5个不重复的整数,生成的整数范围为[0, 4],生成的不重复的整数就是cla随机的索引,通过随机的索引就能得到随机班级的出场顺序。 import random cla = ["(2)班", "(3)班", "(5)班", "(8)班", "(9)班"] indexs = [] while len(indexs) < 5: i = random.randint(0, 4) if i not in indexs: indexs.append(i) for i in indexs: print(cla[i]) ③构建一个班级的列表cla = ["(2)班", "(3)班", "(5)班", "(8)班", "(9)班"],从这个列表cla中随机的拿出一个元素,放到列表cla2中,重复这个过程直到cla中的元素都被放到cla2中,cla2就是随机班级的出场顺序。 import random cla = ["(2)班", "(3)班", "(5)班", "(8)班", "(9)班"] cla2 = [] for i in range(1, 5): p = random.choice(cla) cla.remove(p) cla2.append(p) cla2.append(cla[0]) for x in cla2: print(x) | 让学生了解模块导入函数和常数的两种方式,两种导入方式下如何调用模块中的函数和常数,理解模块的功能和应用。
通过实践任务让学生掌握导入模块及模块中函数、常数的使用。进行本节课重点“掌握模块中常数和函数的使用”的教学。
通过编程解决实际问题,进行本节课重点“掌握模块中常数和函数的使用”的教学。该问题的解决要求提供两种方案,这就要求学生充分挖掘random模块中的函数的使用,选择模块中合适的函数来解决问题,在此过程中完成本节课难点“学会利用模块中的常数和函数编写程序解决实际问题”的教学,培养学生的计算思维。在此过程中也培养了学生在合作解决问题的过程中,愿意与团队成员共享信息,实现信息的最大价值的信息意识。 | ||
课堂小结 | 知识梳理: 1.模块的功能及应用。 2.模块的导入方法。 3.模块中常数和函数的使用。 4.利用模块中的常数和函数编写程序解决实际问题。 | 通过回顾总结帮助学生巩固本节课的学习内容。 | ||
作业布置 | 基础作业(面向所有学生): 本节配套课后作业 提升作业(面向学有余力学生): 通过网络搜索学习自定义模块的相关资料,尝试编写一个判断素数的函数并将这个函数封装到自定义的模块中。 | 为满足不同层次学生的需求,设置不同难度的作业,巩固本节课学习到的知识,提升作业让学生通过自己编写模块对模块的功能及应用有更深入的了解,也有助于学生进一步了解模块化编程的思想。 | ||
教学设计思路 | 本课内容为模块的导入与应用。模块能够有逻辑地组织Python代码段,它按照代码的用途和分类,将代码分配到不同的模块中。函数封装了实现特定功能的代码,而模块可以有效的将函数组织、保存起来。在编程的过程中引入模块中已经定义好的函数能够简化程序代码,减少程序复杂度。 本课内容更多的侧重是模块的应用,通过应用模块封装的函数和常数编程解决实际问题,建议采用讲授法、任务驱动法、探究法等教学方法。 对于第一次接触模块的学生,模块是一个较为抽象的概念,建议教师通过生活中的具体事例(如:电工的存放工具的工具箱)对比python中模块的功能,让学生理解python中模块的功能。 在学习模块的导入、模块中函数和常数的使用时,建议教师先通过简单的编程实例来讲解模块的导入、模块中函数和常数使用(如:math模块函数的简单编程应用),随后让学生动手实践完成一些较为简单的模块导入、模块中函数和常数应用的问题来掌握模块的导入、模块中函数和常数的应用,并理解模块的应用。 在掌握了模块的导入、模块中函数和常数的使用的基础上,建议教师通过布置一个真实情境的任务(如:教材中的合唱比赛出场顺序问题),在完成该任务时,教师要提供给学生完成该任务可能使用到的模块、模块中的函数和常数的说明,学生通过小组合作、自主探究完成该任务。在完成该任务时,建议让学生能够充分使用模块中的不同函数,提供不同的方案和程序完成该任务,使学生更好的掌握模块。 对于本课的教学重点“掌握模块中常数和函数的使用”主要通过教师布置的一系列任务的完成来进行教学。本课的教学难点“学会利用模块中的常数和函数编写程序解决实际问题”主要通过真实情境任务的编程解决来突破。 | |||
针对 核心素养培养的 设计考虑 | 本节课的主要内容是模块的导入及应用,学生在掌握模块的导入和模块中函数和常数使用的基础上,能够利用模块中的常数和函数编写程序解决实际问题。因此,核心素养的培养主要落在计算思维的培养。在解决实际问题的过程中需要学生合作、探究分享信息共同解决问题,在此过程中也可培养信息意识。 为了培养学生的计算思维,教师在本节课中安排了一个小任务“计算圆面积”和一个真实情境的问题“合唱比赛出场顺序安排”。在解决这两个问题的过程中学生都需要进行需求分析,明确解决问题的关键,设计合理的算法解决这个问题。在解决问题的过程中,某些算法的实现可以通过模块提供的函数实现,教师提供给学生和这个问题解决相关的模块,并给出该模块中函数的相关功能,学生可以根据实际需求和自己设计的算法选择合适的模块和模块中的函数来编写程序解决问题。 本节课信息意识的培养主要落实在解决“合唱比赛出场顺序安排”问题的过程中,学生要通过小组合作、讨论、探究解决该问题的。学生能够在此基础上进行讨论、探究,在此过程中培养合作解决问题的过程中,愿意与团队成员共享信息,实现信息的最大价值的信息意识。 | |||
必修1 数据与计算3.2 Python语言程序设计优质课教学设计: 这是一份必修1 数据与计算3.2 Python语言程序设计优质课教学设计,文件包含浙教版2019必修1数据与计算3242循环结构的程序实现while语句教学设计docx、浙教版2019必修1数据与计算3241循环结构的程序实现for语句教学设计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页。