版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中二年级信息技术算法与程序设计专题——过程与函数第一课时教学设计一、教学定位与课标对接本课选自浙教版高中信息技术选修1《算法与程序设计》第四章第四节,授课对象为高中二年级学生。经过前三章的学习,学生已经掌握顺序、选择、循环三种基本结构,能够用VB解决百以内规模的问题。但大量课堂观察显示,学生面对稍复杂的任务时习惯把全部代码堆在一个事件过程中,程序冗长、调试困难、可读性差。本课正是要解决这一"程序组织"层面的瓶颈,把结构化程序设计的思想从概念层面落到代码层面。《普通高中信息技术课程标准》在模块"算法与程序设计"中明确要求学生"理解模块化程序设计思想,掌握自定义过程与函数的定义和调用方法"。本课承担承上启下的双重任务:向下收口,把学生已有的零散编程经验提升为模块化设计能力;向上铺垫,为后续递归算法、综合项目开发奠定结构性基础。二、学情诊断本班学生基础呈现三个层次。约三成学生家庭条件较好、课外接触过Python或竞赛编程,已有函数概念的朦胧认识,可以帮助带动课堂;约五成学生能独立完成循环嵌套类题目,但从未主动拆分过程序,调试时靠"通读全文找bug",效率低下;约两成学生基础薄弱,对变量作用域尚无感受,写出的代码变量名混乱。基于这一学情,本课的教学难点不在语法本身,而在三个思维转变:一是认识到"重复代码应该被提取",二是理解"参数是过程与主程序之间的对话通道",三是分清"过程完成任务却不带回结果,函数完成任务并带回一个值"。这三个点决定了本课不能靠讲授灌输,必须让学生在真实的代码修改冲突中自己"悟"。三、教学目标知识与技能:能说出Sub过程和Function函数的定义格式与调用方式;能在实际问题中判断该用过程还是函数;能正确理解形参与实参的对应关系,理解按值传递与按地址传递的初步区别;初步理解变量作用域。过程与方法:经历"长程序——拆解——封装——调用"的完整重构过程,体会模块化设计"分而治之、各负其责"的思想。情感态度与价值观:通过对比重构前后的代码,形成对"优雅程序"的审美判断;在小组协作中体会分工与接口约定的重要性,渗透软件工程中"契约式协作"的职业规范。四、教学重难点重点:过程与函数的定义、调用,参数的传递机制。难点:过程与函数的本质区别及其选择策略;形参与实参的对应关系。五、教学准备机房按四人异质分组就座,每组确定一名代码能力较强的学生担任"结构师"。教师机预装VB6.0环境并配置极域电子教室广播系统;准备三个程序素材:素材一"三段重复代码的星号图形程序",素材二"五角星加法验证器半成品",素材三"封装完毕的对比版"。同时准备任务工单,工单上预留代码重构空间与问题记录区。六、教学过程(一)情境激疑:一段让人发笑的代码上课伊始,教师不宣讲概念,而是通过广播系统展示素材一:一个打印三角形、长方形、菱形三种图形的小程序。程序运行正常,但代码长达九十余行,三个图形区域的代码几乎一模一样,只是星号行数不同。教师请学生用最直白的话评价这段代码。学生的反应通常直接而真实:"太啰嗦了""Ctrl+C、Ctrl+V写成的吧""改一个地方要改三遍"。教师顺势追问:"如果客户现在要求三角形从5层变成8层,而菱形不变,你要改几处?如果改漏了一处会发生什么?"学生在回答中自己得出结论:复制粘贴的编程方式使程序变得脆弱而不可维护。此时教师引出核心问题:"VB早就预见到这个问题,它提供了一种机制,让可以把一段反复出现、功能独立的代码'收'起来,起一个名字,需要时叫一声就行。这就是今天的主角——过程与函数。"板书课题,用时约五分钟。【设计意图】以"丑代码"制造认知冲突,让模块化思想的必要性从学生的吐槽声中自然生长出来,避免空洞说教。真实程序员的痛点比任何导入情境都有说服力。(二)初探过程:给重复代码一个名字教师演示重构的第一步。在窗体的通用部分定义Sub过程:SubPrintTriangle(ByValnAsInteger)DimiAsInteger,jAsIntegerFori=1TonForj=1ToiPrint"";NextjPrintNextiEndSub讲解时紧扣三个要素:"Sub"宣告这是一个过程;"PrintTriangle"是程序员给它起的名字,名字应当见名知义;括号里的"ByValnAsInteger"是这个过程对外开的一扇窗——外界告诉它要画几层,它就画几层。随后在原事件过程中演示调用:CallPrintTriangle(5)。程序运行,效果与原代码完全一致,但行数锐减。教师现场把调用处的5改成8再运行,图形随之变化。教室里通常会出现轻微的惊呼声——学生第一次直观感受到"参数"的魔力:同一个过程,喂进去不同的数,就吐出不同的结果。【设计意图】教师第一遍演示必须完整、规范、慢速,让学生看清从重复代码到独立过程再到一句调用的完整链条。参数先以"喂不同的数"这种生活化类比呈现,再逐步走向严格概念。(三)动手重构:把另外两种图形也收编学生分小组打开素材一,参照教师示范,自行定义PrintRect和PrintDiamond两个过程并完成调用。教师穿行巡视,重点观察三类典型错误。第一类错误:把过程写在了事件过程内部。VB不允许嵌套定义,系统会立刻报错。教师请出错学生把光标位置截图投屏,全班一起看报错信息,强调"过程与过程是平起平坐的兄弟,不是一个住在另一个肚子里"。第二类错误:调用时括号里填的是变量名但从来没给变量赋值,程序画出空图形。借此讲解实参的意义——调用那一刻真正递过去的那个值。第三类错误:过程忘了取名字或者名字与保留字冲突。这是强化命名规范的好时机,教师抛出"print1、星辰图、画三角形"三个候选名让学生投票并说明理由,在讨论中渗透命名规范的行业共识。约八分钟后,请一个完成较快的小组通过极域广播展示成果,并请"结构师"分析重构后的代码比原来少了多少行、为什么以后修改图形只需改一处。【设计意图】三类错误几乎每届学生都会犯,与其在讲授中面面俱到地预警,不如让学生真实地踩坑,再把错误变成全班的教学资源。错误在公开课上是事故,在常态课上是财富。(四)概念辨析:形参与实参的对话在学生都完成重构、情绪高涨时,教师趁热打铁,用一段类比对话讲透参数机制:定义过程时写在括号里的n,是形参——它是过程对外公布的"收货窗口",窗口上贴着标签"这里收一个整数,我管它叫n";调用时写的CallPrintTriangle(5)中的5是实参——它是调用者真正递过去的货物。调用发生的一瞬间,5这个值被放进n这个窗口里,过程开始干活。随后用板书列出对应关系并设置一组快速口答辨析:CallPrintTriangle(x+1)中,递出去的是什么?如果定义处形参改名,调用处需要跟着改吗?通过追问让学生明确:实参与形参的名字可以毫无关系,它们靠位置与个数对应,不靠名字对应。【设计意图】形参实参是历年学考选考的高频失分点。"收货窗口"的比喻经多轮教学验证有效,但必须配合辨析题及时固化,防止学生停留在模糊理解。(五)引入函数:需要答案的场景教师在屏幕上抛出新的冲突:"刚才的过程画完图就撒手不管了,它不向调用者交代任何结果。可生活里我们常常需要的不是'干活',而是'干活之后给我一个答案'。比如——判断一个数是不是素数。"学生分小组讨论:如果用Sub过程怎么实现"判断素数"?讨论中学生会发现过程无法把"是/否"这个结果递回来,只能靠窗体级变量硬塞,笨拙且不优雅。教师顺势引入Function:FunctionIsPrime(ByValmAsInteger)AsBooleanDimiAsIntegerIfm<2ThenIsPrime=False:ExitFunctionFori=2Tom1IfmModi=0ThenIsPrime=False:ExitFunctionNextiIsPrime=TrueEndFunction讲解抓住两处关键语法:函数名后面的"AsBoolean"声明了这个函数会带回什么类型的结果;函数体内那句"IsPrime=True"就是函数"把答案放在自己名字里带回去"的方式。调用也相应地不同——可以像普通值一样写在表达式里:IfIsPrime(17)ThenPrint"是素数"。【设计意图】不孤立介绍函数,而是让学生先在Sub的框架里碰钉子,痛点出现之后函数登场便是"雪中送炭",过程与函数的区别由此不言自明。(六)辨析工单:过程还是函数小组领取任务工单,完成五个情境判断题,要求先独立判断再组内互评:第一题,在屏幕上绘制一个动态时钟——只需执行,无需返回,用过程。第二题,计算圆面积并把数值交给主程序继续运算——需要一个数值结果,用函数。第三题,把文本框内容格式化为统一大小写后再显示——需要返回处理后的字符串,用函数。第四题,清空列表框——一个明确的动作,用过程。第五题是开放题:验证用户登录。此题答案不唯一,既可用函数返回True或False,也可让过程负责弹出欢迎或拒绝界面。教师引导学生说出两种方案的取舍依据,体会"设计要求决定结构选择",避免非黑即白的机械判断。每组派代表陈述第五题的方案并说明理由,教师做简短点评,点出软件工程中接口先行、分工协作的实际影子。【设计意图】五个情境从封闭到开放梯度排列,前四题巩固判断标准,第五题则把学生从"判断对错题"推向"做设计决策",这是本课思维含量的制高点。(七)综合任务:1000以内的素数猎人这是本课的核心综合实践,限时十五分钟。任务:编写程序,在列表框中输出1000以内所有素数,并统计个数。要求必须使用自定义函数IsPrime完成判断,主程序只负责遍历和输出。工单引导学生写出主程序框架:Forn=2To1000IfIsPrime(n)ThenList1.AddItemncount=count+1EndIfNextn对于学有余力的小组,工单留有拓展挑战:能否让IsPrime只循环到m的平方根?改动后的效率提升可以从运行时间上感受一下。学困组则由"结构师"或教师辅导,允许先复制教师板书的函数框架,重点完成调用逻辑。教师巡视收集两组对照代码投屏:一组在主程序里写满判断细节(未封装),一组干净利落地调函数。把两段代码并置,问全班:"如果你是半年后回来维护这个程序的人,你愿意接手哪一份?"答案无需教师说出口。【设计意图】并置对比是本课最具情感冲击的时刻。模块化不再是一条写在目标里的口号,而是学生亲眼目睹的、可度量的代码质量差距。(八)课堂小结与延伸教师引导学生用三句话总结本课:一段反复出现或功能独立的代码,应该被装进过程里;过程干活不交差,函数干活并把结果写在自己名字里带回来;参数是过程与外界对话的窗口,形实对应靠位置不靠名字。课后作业分两层。基础层:把课堂素材一修改为一个菜单式图形工具,菜单项分别调用三个过程。提高层:编写函数GCD计算两数最大公约数,并用它实现分数约分程序,为下一课时函数嵌套调用做铺垫。【设计意图】小结让学生提炼而非教师宣判;作业分层呼应班级真实的学情差异,提高层纵向勾连下一课时,形成教学链条。七、板书设计板书分三区。左区:本课课题与"模块化"三个关键词(分工、封装、复用)。中区:Sub与Function的定义格式对照表,用红笔标出返回值类型声明与"函数名=结果"两处差异。右区:形参实参对应示意——实参5装入形参n的窗口图示,随课堂推进擦写更新。八、教学评价设计过程性评价嵌入课堂三个节点:重构任务的小组互评、情境判断工单的个人作答、综合任务的成品展示。每名学生的评价记录包括"能否独立完成过程定义""对形实对应理解是否到位""选择过程或函数的判断是否合理"三个维度,记入学生编程学习档案袋,作为模块学业评价的依据之一。九、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国物流企业上市路径选择及资本市场估值逻辑深度解析报告
- 2026散装建筑辅料行业发展趋势及投资价值评估报告
- 2026中国航空物流园区枢纽建设与跨境电商联动发展及政策环境研究报告
- 2026特种养殖产业现状与投资风险评估专题报告
- 2026散装农产品流通模式创新及市场分析报告
- 2026中国汽车功率半导体模块封装技术发展路线报告
- 2026散装饲料市场供需分析及未来发展规划报告
- 2026商旅市场品牌竞争与消费者偏好研究报告
- 2026换电重卡运营经济性测算及基础设施布局规划研究报告
- 2026中国智慧医疗行业市场研究及技术应用与投资价值评估报告
- 深基坑支护工程监理实施细则
- 湖南省长沙市一中金山桥学校2024-2025学年七年级上学期第一次月考数学试题(无答案)
- 国家能源集团招聘笔试题库2024
- 分部、分项工程质量验收记录
- 退休保安人员聘用合同模板
- 农业物联网技术
- 运动训练学理论
- 环保设备运行与维护管理
- 精益-大学生创新与创业学习通超星课后章节答案期末考试题库2023年
- 八年级物理经验交流 全省一等奖
- YY 0592-2016高强度聚焦超声(HIFU)治疗系统
评论
0/150
提交评论