1、 1 智能智能提醒器提醒器 创建与调用函数创建与调用函数 一、 【一、 【设计设计理念理念】 人工智能时代迎面而来,无人驾驶汽车、无人机、机器人、仿生眼,智能家居离 我们越来越近了。学生对人工智能的应用很感兴趣,但不知道人工智能背后的技术是 怎么实现的。目前市面上大部分人工智能的代码都是使用 Python 来编写。另外,近 段时间天气炎热,学校教室空调首次全部启用,为学生们送来凉快,可由此同时也带 来一些问题:学生喜欢将空调温度调到很低。因此我想到了“用函数来编写一个空调 助手智能提醒器”为主题任务,让学生感受 Python 在人工智能方面的影响力, 增加对 Python 的“好感” ,越学越
2、有劲,也向他们提倡节能减排。 二、 【教材教材分析】分析】 本节教学内容选自新世纪出版社八年级上册第五课函数。 学生初学编程最容易犯 的就是当需要在程序中多次执行同一项任务时,他们会习惯性地进行大量的“复制代 码粘贴代码” ,显然这不是一种好方法。本课通过设计编写“空调助手提醒器” 的程序代码,介绍在 Python 编程中,我们可以把重复的代码放在函数中,即先创建 具有某一功能的函数,然后用函数名就可以代替整个程序模块(调用函数) ,并且函 数只需编写一次就可以多次调用,大大提高了编程效率。 三、三、 【学情分【学情分析】析】 本课例的教学对象是初二年级的学生。 经过前三节课的学习, 学生会使
3、用 Python 的 IDLE 和海龟编辑器,掌握了基本命令:input()、print()、int()和 float()的使 用方法,以及分支程序 if 语句的使用,具备一定的编程基础。 初二的学生好奇心强,他们对事物的分析、独立思考能力也在增强,但同时也比 较懒,对老师有一定的依赖性。因此,将教学内容融入到真实的日常生活情景(似曾 相识的一幕) 、实在的任务(设计“空调助手提醒器” )中,加上老师的有效引导, 学生会感兴趣地主动投入学习,通过自己的探索和思考来解决问题。 四四、 【、 【教学目标教学目标】 1.1.信息意识:信息意识:学生通过“空调助手提醒器”的程序设计,了解什么是函数,
4、理解为什么要创建函数,掌握创建函数和调用函数的方法。 2.2.计算思维:计算思维:通过自主探究、小组合作的形式,在操作体验“如何将重复的代码 放在函数中(创建函数)定义函数后怎么使用(调用函数)调用函数实现反复使 用以及显示不同信息”过程后,学生能在以后的编程中有意识地避免重复输入,会根 2 据实际需要定义函数,调用函数编程,提高效率。 3.3.社会责任:社会责任:通过“空调助手提醒器”的程序设计感受调用函数在编程时的 优势,体会其在生活中的具体应用,做到学以致用。也通过这次倡议(26 度空调节能 行动) ,让学生为“节能减排”贡献一份自己的力量。 五五、 【、 【重难点重难点】 【重点】【重
5、点】创建函数、调用函数。 【难点】【难点】理解为什么要创建函数。 六六、 【、 【教学方法教学方法】 创设情景、任务驱动、自主探究、小组合作 七七、 【教学过程设计】、 【教学过程设计】 教学教学 环节环节 教师活动教师活动 学生活动学生活动 设计意图设计意图 一、 情 境 导 入 一一、情景导入情景导入 1.1.讲述:讲述:最近,我收到各班节能员的求助。 调出调出视频:视频: 似曾相识的一幕 2 2. .接话:接话:感谢同学们对我的信任。现在 (1)先将视频中的求助内容描述一下: 现象:开启空调,设定温度(16 度,过低) 提倡“节能减排” :不能将空调温度调至低于 26 度。 (2)分析:
6、 乱设空调温度的现象如何用程序实现? 流程图流程图: 程序代码:程序代码: 需求:用户设定的温度低于 26 度,马上提醒。 疑问:如果时不时又有个同学去调空调,怎么办? 观看视频。 聆听。 思考、回 答。 情景剧根据学生课 间活动情景拍摄, 还原了他们真实、 有趣的一面,吸引 他们的关注,活跃 课堂气氛,也激起 他们的求知欲。 将问题理顺,需要 解决什么问题,用 代码如何实现,让 学生有清晰的思 路,然后给出流程 图,引导他们描述 对应的程序代码, 相当于一个复习回 顾,为后面的学习 新知做好铺垫,打 下基础。 c=16 print(“设定温度:”,c) print(“温馨提示:请将空调温度调
7、至 26 度以上!”) 设定温度 显示“设定温度” ,度数 c=16 print(“设定温度:”,c) 增加一行代码就可以了? 3 生答:复制代码修改(度数) 师说:这不是好办法哦?我给大家支一招:把这段代码定义 成函数就不用这么麻烦了。 3 3. .引出课题引出课题 (任务)(任务) : 设计一款空调助手 “智能提醒器” , 运用函数来实现。 二、 任 务 驱 动 探 究 新 知 分 析 任 务 一 二二、分解分解任务任务 (1)提醒器 1.0 目标(任务一任务一) :有提醒有提醒 当用户给空调设定一个温度时,提醒器有提醒。 (2)提醒器 2.0 目标(任务二任务二) :智能化智能化 用户设
8、定任意温度,一旦检测到设定的温度低于 26 度时,提醒器马上提醒。 三三、探究、探究新知新知(以下结合具体任务分析) 【任务一】【任务一】目标:目标:有提醒有提醒 1.1.思考:思考:如何将这段代码定义成函数? 2.2.观看观看函数函数三三部曲部曲视频视频,认识函数。,认识函数。 知识点一:知识点一:认识函数认识函数 (1 1)函数函数是可重复使用、实现某一功能的代码块。 (2 2)函数分为:函数分为: 内建函数:内建函数: Python 已经定义好, 可以直接使用直接使用。 如: print()、 input()、int()、float() 创建(创建(自定义自定义)函数:函数:根据需要自己
9、创建函数。 (3 3)为什么要创建为什么要创建函数函数 一旦定义了函数,就可以通过调用反复地使用。一旦定义了函数,就可以通过调用反复地使用。 每次函数运行时可以让它有不同每次函数运行时可以让它有不同的表现。的表现。 先定义先定义 后使用(调用)后使用(调用) 聆听。 2 人一组共 同挑战任 务。 聆听。 观看视频, 自主学习 新知。 学生常常会困惑为 什么要学。这节课 采用“基于需求的 学习”模式,通过 “日常空调开得过 低现象提出设计 “智能提醒器” 介绍其功能和设计 方案需要调用哪 些旧知识以及学习 哪些新知识” ,让学 生明确要做什么、 怎么做以及其中的 意义,那么他们就 会觉得学有所用
10、, 学习有奔头,由被 动学习变为主动学 习。 用函数三部曲 视频介绍新知比老 师传统的讲授,形 式上更活跃,而且 学生还可以掌握学 习的主动权,即错 过了某些要点可以 回看,提供有效的 帮助。老师只在学 生需要时提供针对 性辅导即可。 对函数有初步的了 解,然后通过列举 内建函数 print() 等让学生知道函数 并不陌生,之前早 就用过了。 通过列举求圆周长 的例子,让学生体 1.什么是函数?为什么要创建函数? 2.怎么创建函数? 3.如何调用函数? c=16 print(“设定温度:”,c) print(“温馨提示:请将空调温度调至 26 度以上!”) 视频学习 函数三部曲 4 实 践 任
11、 务 一 展 示 点 评 任 务 一 def cir(r)cir(r): print(2*3.14*r) cir(cir(100100) ) 628.0 cir(cir(150150) ) 942.0 3.3.看完视频后,进行“快问快答” 。看完视频后,进行“快问快答” 。 4 4. .自学视频自学视频创建创建函数函数 知识点二:知识点二:1.1.创建创建不带参数的不带参数的函数函数 功能:功能:定义一个具有某一功能的函数。 格式:格式: 5 5. .参照参照学案学案,编写代码,编写代码 warn():warn():#定义函数:函数名为 warn c=c= #设温度为 c,请给 c 设定一个值
12、。 print(“print(“设定温度:设定温度:“,c)“,c) print(print(“ “温馨提示:请把空调温度调至温馨提示:请把空调温度调至 2626 度以上!度以上!“ “) ) #调用函数 【展示展示点评点评任务一任务一】 1.1.如果删除最后一行代码 warn(), 运行时会出现什么情况? 2.2.如何调用函数? 3.3.思考: “思考: “提醒器提醒器 warn1.0warn1.0”是否存在不足?”是否存在不足? 例如: (1)不同用户会设定不同的温度。 (2) 将温度 c 改为高于 26 度的数值, 运行查看结果有何变 化?你对此有何看法? 【任务【任务二二】目标:智能化
13、目标:智能化 要求:在要求:在 warnwarn1.01.0 的基础上修改,升级到的基础上修改,升级到 warnwarn2 2.0.0 以实现以实现 智能智能化化。 思考、填写 学案。 观看视频, 自主学习 新知。 实践:编写 程序代码, 并运行查 看结果。 思考、回 答。 修改程序, 运行查看 结果。 接受新任 务。 聆听。 会创建函数的必要 性与意义,他们更 乐意去接受这一新 知识。 检测学生的理解情 况,让学生能规范 书定义函数的格 式,也很大程度地 减少程序出错的因 素。 任务一直接向学生 公开源程序代码, 基于以下考虑:第 一,函数是新学知 识,刚开始学生可 能还一知半解,特 别是学
14、困生,如果 还加上之前的知识 点,将会“拦到” 他们,不敢向前。 此任务只考察创建 函数的格式以及调 用函数的方法,降 低了难度,可以帮 助他们树立信心, 有动力去挑战下一 个任务。 练习后及时小结, 有利于帮助学生梳 理当前知识点,也 利于发现问题及时 改正。 向学生提出“存在 不足,如何改善” 为了培养他们思维 的严谨性与创新 性。 任务从 1.0 升级到 2.0,从易到难,一 个任务突破一个知 快问快答:快问快答: 1.函数是可以完成某项工作的代码块。 () 2.函数不需要定义可以直接使用,如 print()函数。 () 3.定义函数的代码块必须写在调用函数的语句前面。 () 4.如果程
15、序中没有调用函数的语句,函数将永远不会执行。 () 5 分 析 任 务 二 展 示 点 评 任 务 二 即一旦检测到用户设定的空调温度低于 26 度时,提醒器才 会提醒。 思路分析思路分析: 知识点二:知识点二:2.2.创建创建带参数的带参数的函数函数 格式:格式: 功能:功能:定义一个带参数的函数,括号内写参数名,多个参数 之间用逗号分隔。 注意:注意: 带参数的函数的调用方法是: 在参数对应的位置输入 该参数的值。 程序设计:程序设计: def def : : #定义函数:取函数名为warn, 设参数c表示度数。 print(print( ) ) #显示设定温度:度数(c) : : #如果
16、温度c低于26度 prinprint t( ) #显示“温馨提示” #调用函数 点评展示点评展示任务任务二二】 思考:思考: 1.1.如何调用带参数的函数? 2.2.为什么要自找麻烦创建函数?为什么要自找麻烦创建函数? 试一试:试一试: (1)调用函数多次,运行查看结果。 观看、思 考、填写学 案。 观看视频, 自主学习 新知。 探究、实 践:编写代 码,运行查 看结果。 思考、回 答。 修改、体 验。 修正程序。 识点,容易被学生 接受,进一步提升 他们对事物的分 析、思考能力,也 学会有追求。 帮助学生理解什么 是参数。 调用带参数的函数 时,学生会误以为 照 写 参 数 就 可 以 了,
17、因此必须要强 调要写入该参数的 值才能显示结果。 学生从一开始可能 就会质疑为什么一 定要创建函数?在 任务二,引导学生 多次调用函数,让 他们体会函数是可 以反复使用。其次, 引导学生修改函数 里的参数,再次调 用,运行查看结果, 他们又有另一惊奇 的发现:每次调用 函数,函数会有不 一样的表现。通过 两次引导消除了他 们对“创建函数” 多此一举的疑惑。 参数是有名字的,就像变量一样 6 分 析 任 务 三 (2)将函数 warn(c)里的参数 c 设成不同的度数,运行查 看结果。 3.3.我们向函数传入什么值,函数中就会使用什么值。 【任务【任务三三】智能计费电表智能计费电表 要求:要求:
18、 空调有了新助手提醒器, 如果再配上智能计费电 表, 那么功能就更齐全了。 请同学们创建一个计算空调电费 的函数,然后计算一个月的电费。珠海市实行阶梯电价,居 民生活电度电价夏季(5 月-10 月)标准是: 思路分析思路分析: 知识点知识点三三:带带返回值返回值的的函数函数 激疑激疑:调用者可以向函数传递信息(参数) ,那么函数可以 向调用者发回信息吗? 只要在函数的中最后一行加上: return 功能:功能:先计算的值,然后将的值传出, 作为函数的值。 程序设计:程序设计: 接受任务。 聆听。 思考、填写 学案。 聆听。 任务三为学生提供 了程序的“半成品” 代码,这样做是考 虑到本环节的重
19、点 在于理解“带返回 值的函数” ,不想模 糊重点,因此就重 点考察对应语句的 使用,更有效地突 破难点。 7 【任务【任务三三点评展示】点评展示】 1.1.注意注意 return 命令要缩进。命令要缩进。 2.2.返回值会回到调用这个函数的代码。 拓展 延伸 通过这节课的努力, 我们的智能空调的最后两项功能模 块(智能开启(第四节) 、提醒、计费)终于实现了。 那么,今天我们创建的函数能用在其他的家电设计吗? 使用场合使用场合 程序设计程序设计 智能闹钟智能闹钟目标: 规律的作息提醒服务 定义 clockclock 函数 培养学生的发散思 维,学会举一反三, 能主动运用学到的 编程知识来解决
20、生 活中的各种问题。 小结 一、小结一、小结 (一)(一)什么是什么是函数函数 (二)创建函数(自定义函数)(二)创建函数(自定义函数) 函数必须先定义,后使用。 1.不带参数的函数 2.带参数的函数 学生一起 总结。 总结是引导学生梳 理整节课所有知识 点,帮助他们建立 知识体系。 8 (三)调用函数(方法)(三)调用函数(方法) (1)直接输入函数名和一对括号。 (2)带参数的函数调用时:在参数对应的位置输入该参数 的值。 (四)(四)带带返回值的返回值的函数函数:return 寄语 空调虽解暑, 但别贪凉。 请把您的空调温度调至 26 度以上, 为节能减排贡献一份力量。 希望我们的倡议,
21、使您舒适度过这个“不太冷”的夏季! 聆听 为了改善全球暖化 现象希望同学能严 格要求自己,主动 加入到“节能减排” 行动中来,贡献自 己的一份力量。 八八、 【教学评价】、 【教学评价】 九九、 【教学、 【教学反思反思】 本节课的亮点主要有两个。一是情景引入环节。教学情景取材于日常生活的真实 情景:天气炎热,学生喜欢将空调温度调到很低,既不利于节能减排,也不利于身体 健康。 学生对此情景感到很熟悉, 他们在观看情景剧的时候都忍不住发笑。 这样一来, 他们的心情一下子也放松了,仿佛没有了上课的压力感。可笑过之后马上引出本节课 的主题:设计空调助手智能提醒器,让学生能“严肃”地对待上述情景,可也
22、能 欣然地接受。 二是任务的设计。 本节课一共有三个任务, 从易到难 (提醒器 1.0-2.0) , 层层递进,引导学生探究如何升级改造,培养了他们对事物的思考、分析能力,以及 9 思维的严谨性与创新性。最后的拓展延伸虽然时间有限未能开展开来,但是为学生提 供了想象的空间,培养他们的发散思维,激励他们主动地运用学到的编程知识来解决 生活中的各种问题。 本节课比较遗憾的是未能很好地掌握三个任务的分配时间: 第一个任务相对比较 简单,而且也提供充足的学习资源,不必花时过多,老师稍微提示、小结一下就可以 了,应留更多的时间来解决更难的任务。 附:附: 智能智能提醒器提醒器(学案)(学案) 创建与调用
23、函数创建与调用函数 一、一、 学习新知学习新知 【1.创建(自定义)函数创建(自定义)函数】 不带参数的函数不带参数的函数 带参数的函数带参数的函数 例子:例子: 【2.调用函数调用函数】如果只定义函数而不调用,那么这些代码不会执行。 先定义先定义 后调用后调用 def cir(r): print(2*3.14*r) cir(100) 628.0 cir(150) 942.0 【3.带返回值的函数带返回值的函数return】 命令格式:命令格式: return 功能:功能: 先计算的值,然后将将的值传出,作为函数的值值传出,作为函数的值。 二二、设计之路设计之路 任务需求:任务需求:为了改善全
24、球暖化,严格执行国家规定的空调温度控制标准,学校 倡导 “26 度空调节能行动”,诚邀同学们设计一款“空调助手提醒器”。 【任务一任务一】智能提醒器warn1.0warn1.0(有提醒):当用户给空调设定一个温度时,提醒器 会提醒。 1.输入函数名和一对括号即可调用。 2.如果是带参数的,输入该参数的值。 3.函数可以调用多次。 10 思考:思考: 1. 如果不调用函数(即去掉代码warn()warn()) ,运行时会出现什么情况? 2.细读“提醒器 warn1.0”的程序是否合理?试列举出来,共同探讨如何完善? 【任务二任务二】智能提醒器warn2.0warn2.0(智能化):一旦检测到用户
25、设定的空调温度低于26 摄氏度时,提醒器马上提醒。(无源代码,参考学案在warn1.0代码的基础上修改) 思考:思考: 1.如何调用带参数的函数?如何调用带参数的函数? 2.为什么要自找麻烦创建函数?为什么要自找麻烦创建函数? 试一试:试一试: (1)调用函数多次,运行查看结果。 (2)将函数 warn(c)里的参数 c 设成不同的度数,运行查看结果。 11 【任务三任务三 智能计费电表智能计费电表】空调有了新助手提醒器,如果再配上智能计费电表, 那么功能就更齐全了。请同学们创建一个计算请同学们创建一个计算空调空调电费的函数,然后计算一个月的电电费的函数,然后计算一个月的电 费。费。 计费标准:珠海市实行阶梯电价,居民生活电度电价夏季(5 月-10 月)标准是: 三三、小结与设想小结与设想 小结:小结: 通过这节课的努力, 我们的智能空调的最后两项功能模块 (智能开启 (第四节) 、 提醒、计费)终于实现了。 设想设想:那么,今天我们创建的函数能用在其他的家电设计吗? 使用场合使用场合 程序设计程序设计 智能闹钟智能闹钟目标:规律的作息提醒服 务 定义 clockclock 函数