版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中一年级信息技术教学设计:可以复用的代码——函数的定义与调用一、教学基本信息本课选自教育科学出版社高中信息技术必修一《数据与计算》第二单元“编程计算”第四节“可以复用的代码”。授课对象为高一年级学生,建议安排两课时连排,共计九十分钟。本课承接前面“计算机解决问题的过程”“数据的计算”等内容,是学生从顺序结构、分支结构、循环结构走向结构化程序设计的关键节点,也是后续项目式学习中组织较大规模程序的基本功。课程标准对本部分内容的要求是:掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法,体验程序设计的基本流程。函数作为代码复用的核心机制,正是把算法思想工程化、结构化的载体。二、学情分析学生已经能够使用Python编写包含赋值、输入输出、条件判断和循环的小程序,解决问题的规模一般在十几行以内。问卷与前置作业的批阅显示,学生普遍存在三个典型问题。其一,面对多步骤任务时习惯平铺直叙,代码越写越长,出错后不知道从何处改起。其二,存在明显的“复制粘贴”行为,同一段计算逻辑在程序中反复出现,修改一处遗漏另一处,错误由此产生。其三,对“把一段代码包装起来反复使用”只有模糊的生活经验,缺乏参数、返回值等精确概念。学生的优势同样明显。高一学生抽象思维正处于快速发展期,数学课上已经接触过一次函数、二次函数中自变量与因变量的对应关系,这是理解程序中函数概念的天然锚点。多数学生对“做工具给自己用”这件事有天然兴趣,只要情境恰当,学习内驱力不难调动。三、教学目标知识目标:理解代码复用的意义,能用自己的语言说明函数的概念;掌握函数定义、函数调用、形式参数与实际参数、返回值的基本语法;知道Python内置函数、模块函数与自定义函数三个层次。能力目标:能在一个具体任务中识别可复用的代码片段,将其抽象为函数,并通过参数设计让该函数适用于多种情形;能通过阅读函数名和注释理解他人代码,初步形成模块化思维。素养目标:在“把重复劳动交给机器”的实践中体会计算思维中的抽象与分解;在小组协作完善函数库的过程中形成共享与复用的工程意识;在对比“复制粘贴”与“函数封装”两种方案时建立对代码质量的判断标准。教学重点:函数的定义与调用机制,参数与返回值的作用。教学难点:形式参数与实际参数的区别;变量在函数内外的可见范围;何时应当把一个代码片段提炼为函数的判断依据。四、教学准备机房安装Python3.x环境,预装教学用代码编辑器。教师准备三个半成品程序作为课堂素材:第一个是不使用函数、包含大量重复代码的“班级成绩统计”程序;第二个是用函数重写的同一功能程序;第三个是故意设置了参数传错、返回值缺失等典型错误的调试任务包。学习平台发布课堂任务单,每生一台可以运行Python的计算机,四人组成一个学习小组,组内预设程序员、测试员、记录员、汇报员四种角色,角色在第二课时轮换。五、教学过程(一)情境导入:复制粘贴的代价上课伊始,教师在大屏幕上展示一个真实情境:学校运动会临近,体育组委托编程社团开发一个小工具,输入若干名运动员三项比赛的成绩,分别计算每项的平均分、最高分,并输出达标人数。教师现场运行素材一,程序正确输出了结果。接着教师做一件事:把程序源代码投影出来,请学生默读两分钟,并回答一个问题——这份代码给你什么感觉。学生通常会说“长”“乱”“好多地方长得一样”。教师顺势用高亮标出三处几乎完全相同的求平均值代码段、两处雷同的统计代码段,请学生数一数重复出现了几次。教师追问:如果体育老师临时改主意,平均分的计算规则从“除以总人数”改为“去掉一个最高分再取平均”,这份代码要改几处。学生很快发现要改三处,而且极易漏改。教师现场演示只改两处、遗漏一处之后运行程序,三件项目的口径不一致,结果出现隐蔽错误,肉眼很难察觉。此刻教师点题:问题不在于这位同学不认真,而在于“复制粘贴”这种生产方式本身不可靠。今天的任务就是学习一种把代码“做成零件、随取随用”的方法,让同一段逻辑只写一次。板书课题:可以复用的代码——函数。设计意图在于让学生先体验痛感再接触方案。函数不是语法条目,而是对真实困境的回应,这个认知起点决定整节课的走向。(二)新知建构第一环节:认识已有的“零件”教师不急于讲自定义函数,而是先带学生盘点已经用过的函数。print、input、int、len、range,这些名字学生早已熟悉。教师提出一个此前从未追问的问题:这些名字背后是什么。学生讨论后教师揭示:每一个名字背后都是一段别人写好、封装妥当的代码,我们从未见过print的内部实现,却每天都在放心使用它,这就是复用。教师布置三分钟的微任务:在交互式环境中依次执行help(len)、help(round),阅读简要说明,并用自己的话向同桌转述len函数“吃什么、吐什么”。学生转述时自然说出“给它一个列表,它返回一个数”,教师把这句话提炼为术语:给它的是输入,叫参数;吐出来的是输出,叫返回值;调用的动作,就是让这段封装好的代码运行一次。随后引入第二层复用:模块。教师演示两行代码,第一行importmath,第二行math.sqrt(2),得到1.414……。教师说明:有些零件使用频率没那么高,Python把它们分类存放在仓库里,用的时候先import把仓库搬出来。学生在任务单上完成填空:使用math模块计算半径为5的圆面积,写出表达式math.pi乘以5的平方并运行验证。这一环节用时约十分钟,目的是建立“内置函数—模块函数—自定义函数”的层次图景,让学生意识到自定义函数不是全新事物,而是把“别人造零件、我来用”升级为“自己造零件、大家用”。(三)新知建构第二环节:定义第一个函数教师以运动会情境中的求平均值为例,现场逐行敲出函数定义,边敲边讲解每一部分的职责。第一行defaverage(scores),def是“我要定义一个函数”的宣告,average是给这段代码起的名字,圆括号里的scores是它接受的输入,称为形式参数。第二行起缩进的语句是函数体,完成求和、除以个数、return结果三件事。return一词教师特别强调:它把结果交还给调用者,同时结束函数。教师用一个生活类比固化概念:函数像一台榨汁机,参数是从投料口放进去的水果,return是从出口流出来的果汁,函数体是机器内部的刀片和电机。机器盖着盖子,使用者只需关心投什么料、接什么汁。学生动手环节:打开任务单中的模板文件,补全一个名为find_max的函数,要求接受一个成绩列表,返回最高分。基础薄弱的学生可以参照黑板上的average函数对照书写,学有余力的学生尝试不用内置函数max,用循环自行实现。教师巡视,重点关注两类典型错误:忘记写return导致函数返回None;把函数体顶格书写导致缩进错误。发现后将典型错误拍照投屏,由犯错学生本人讲解错因,其他同学补充。函数定义完成后,教师演示调用:在主程序中写下avg=average([85,92,78]),再print(avg)。教师设计一个关键提问:scores和[85,92,78]是什么关系。学生经过讨论明确:scores是机器内部对进料的称呼,是形式参数;调用时传入的真实数据是实际参数;调用那一刻,实际参数的值被交给了形式参数。教师用箭头图在黑板画出两者的对应关系,避免学生误以为两者必须同名。(四)难点突破:变量的“活动范围”教师抛出一个精心设计的冲突场景。修改average函数,在函数体内增加一行total=0再累加求和,然后在主程序中执行print(total)。学生预测能打印出总分,实际运行却报错:name'total'isnotdefined。教室里出现短暂的疑惑声,这正是教学期待的反应。教师不直接解释,而是给出三个对照实验让学生两人一组动手验证:实验一,在函数内打印函数内定义的变量,成功;实验二,在函数外打印函数内定义的变量,报错;实验三,在函数外先定义total=100,再在函数内打印total,能读到100。学生记录三组现象,尝试归纳规律。小组汇报后教师总结:函数是一台带盖子的机器,内部新定义的变量只在机器运转期间存在,机器停了它们就消失,这叫局部变量;函数外定义的变量是全局的,函数内可以读取。函数与外界交换数据的正规通道只有两条——参数进,return出。教师特别提醒:初学者常犯的一个毛病是让函数直接打印结果而不return,看似省事,实则把数据锁死在了屏幕里,后续程序无法继续使用这个值。求出结果要return,展示结果才print,两者职责分明。(五)实践任务:重构运动会成绩程序这是本课时的核心环节,时间约二十分钟。每组领取任务:把素材一中那份充满重复代码的程序,用函数重写。任务单给出分层要求。基础层:提炼出average、find_max、count_pass三个函数,主程序通过调用它们完成全部统计,重写后的代码总行数应显著下降。进阶层:为每个函数书写一行注释,说明参数含义与返回值;思考能否把“输入一组成绩”也封装成函数,让三个项目的输入也复用同一段代码。挑战层:把三个函数存入一个名为sports.py的文件,在主程序中importsports后以sports.average的方式调用,体验“自己造的模块”。小组内角色各司其职:程序员主键盘,测试员负责构造测试数据,例如空列表、全部相同成绩等边界情形,记录员在任务单上登记每处改动及理由,汇报员准备两分钟的发言。教师巡视时以追问代替给答案:这一处循环要不要进函数。判断标准是什么。引导学生自己说出“凡是可能用第二次的、逻辑相对独立的一段代码,都值得封装”。巡视中教师有意收集两种代表性成果:一种是函数划分合理、主程序清爽如提纲的作品;另一种是把所有代码一股脑塞进一个巨型函数、换汤不换药的作品,留作点评素材。(六)展示评议与提炼两组代表各用两分钟展示。第一组展示后,教师指着屏幕上的主程序请全班观察:main部分的每一行几乎都是一个函数调用加一处输出,读主程序就像读流程图,细节被藏进了函数内部——这正是结构化程序设计追求的样子,先看清骨架,再深究血肉。第二组展示“巨型函数”版本时,教师不评判优劣,只问一个问题:如果下学期运动会新增一个项目,这两份程序哪份好改。学生自己得出结论:函数不是把代码挪个位置,而是按职责切分,每个函数只做一件事,做好一件事。教师带领全班提炼出三条代码复用的判断口诀,由学生记录:写了第二遍,就想函数;一个函数,只干一件事;进门靠参数,出门靠return。同时板书函数学习的三个层次:会用别人的函数,会写自己的函数,会把自己的函数打包成模块给别人用。(七)第二课时:参数进阶与综合应用第二课时以复习检测开场。学习平台推送三道小题:阅读一段含函数定义的代码预测输出;找出一处“忘记return”的错误;写出调用check_score(92,60)时实参与形参的对应关系。平台即时给出正确率统计,教师针对错误集中的题目讲评。随后引入参数的两个进阶形态。其一,缺省参数。教师提出需求:达标线大多数时候是60分,偶尔是75分,难道要写两个函数。演示定义defcount_pass(scores,line=60),说明line有默认值,调用时可传可不传。学生立刻体会到这一设计的体贴。其二,返回多个值。教师提问:一个函数能否既返回平均分又返回最高分。学生猜测后教师展示returnavg,top,并演示用a,b=stat(scores)接收,说明这实质上是把多个值打包返回。综合任务为小组项目“班级体质健康小助手”的雏形搭建。任务要求:程序能录入若干名学生的身高体重,封装bmi函数计算体质指数,封装evaluate函数根据指数给出等级判断,主程序循环调用并输出每人结果与全班平均。鼓励各组扩展:有的组用缺省参数区分男女生标准,有的组把函数存入独立模块,有的组为函数添加了异常输入的防护。项目进行中安排一次“代码走查”:各组测试员带任务单轮换到邻组,只读代码不运行,根据函数名、注释与调用结构推断程序功能,并写下推断结果交还原组验证。这一活动直指“代码是写给人看的,顺便让机器执行”这一理念,学生惊讶地发现,函数命名恰当、结构清晰的程序,不运行也能读懂大半。课时尾声进行课堂小结,由学生完成。教师给出三个句式引子:今天之前我以为……,现在我知道……,我还想弄懂……。随机点三名学生口头接续。学生的表达中出现了“函数像乐高积木”“参数是函数的菜单”等鲜活比喻,教师将其记录在教室后墙的“概念生长栏”中,作为后续课程的学习痕迹。六、板书设计主板书分三区自左向右展开。左区:问题——重复代码的危害,改一处漏一处。中区:方案——函数,定义用def,调用用函数名加括号,参数进、return出,附榨汁机简图。右区:层次——内置函数、模块函数、自定义函数、自制模块。副板书生成本课口诀三行,课后留白处补充课堂中学生提出的精彩比喻。七、作业设计基础作业:完成学习平台上的函数语法巩固题组,共八题,包含读代码写输出、改错、补全函数三种题型。实践作业:用函数重写自己两个月前提交的某一份旧程序,提交新旧两版并附一段一百字左右的比对说明,谈谈重写过程中删掉重复代码的具体位置与感受。重读旧代码、亲手改良,比做新题更能巩固复用意识。拓展作业:查阅mat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年一站式学生社区建设课件
- 2026年特殊食品科普宣传课件
- 2023年国家开放大学行政伦理学形考作业答案
- 2026 年倡导文明出游共建美好旅途主题课件
- 2026年江苏省高考化学真题卷含答案
- 化工干燥工创新意识评优考核试卷含答案
- 防水工标准化能力考核试卷含答案
- 2025年矿区四年级数学下学期期中学业水平测试试题含答案
- 污水处理工安全规程测试考核试卷含答案
- 稀硝酸工岗中达标考核试卷含答案
- GB 1589-2026汽车、挂车及汽车列车外廓尺寸、轴荷及质量限值
- 物业客户关系提升与满意度管理
- 八年级上学期语文阅读计划
- 2025年中国1,7-辛二烯行业市场前景预测及投资价值评估分析报告
- 初一英语阅读理解训练题及答案解析
- 2024北森图形推理题
- 2024秋新人教版小学一年级艺术唱游·音乐上册《第一单元 奇妙的声音世界》教案设计
- 国家级突发中毒事件卫生应急处置队建设规范
- 电厂阀门检修培训
- 建筑地基基础检测规范DBJ-T 15-60-2019
- 林业安全知识培训
评论
0/150
提交评论