版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中三年级信息技术教学设计:VB自动售货机程序的循环结构与数组深化一、教学设计的整体定位本课是高三信息技术一轮复习中“算法与程序实现”模块的第八课时,承接上一课时“VB之自动售货机(一)”中界面搭建、变量声明与投币累加的已有成果,把教学重心推进到循环结构与数组的综合运用,完成一台功能完整、逻辑自洽的自动售货机程序。选择这一载体,是因为它天然包含列表管理、条件分支、循环查找、金额结算、异常处理五类典型问题,几乎覆盖了浙江选考程序大题的全部考点,学生在一节课里写出的每一行代码都能与真题中的得分点一一对应。本设计的学情判断基于白云高级中学高三两个选考班的前测数据:学生对For循环与Do循环的语法格式掌握率在百分之八十以上,但在“何时用计数循环、何时用条件循环”的决策层面失误率接近一半;数组部分,多数学生会定义、会赋值,却不会用下标建立“商品编号与商品信息”的映射关系;更深一层的问题在于,学生习惯把题目读一句写一句,缺乏先画流程再落代码的工程意识。本课的全部环节都围绕修补这三处短板展开。二、教学目标知识与技能方面,学生能够用一维数组存储商品的名称、单价与库存,能够用循环结构实现投币累计、商品清单输出与找零计算,能够理解“标志变量”在循环提前退出中的作用,能够区分DoWhile与DoUntil两类条件循环的语义差异。过程与方法方面,学生经历“自然语言描述—流程图表达—代码实现—测试修正”的完整开发路径,学会把一个大程序拆分为初始化模块、投币模块、选购模块、结算模块四个可独立调试的单元,体会模块化思想对控制程序复杂度的价值。情感态度方面,借助自动售货机这一学生每天路过的生活物件,让学生意识到程序不是试卷上的抽象符号,而是身边机器运转的真实规则;通过连续两课时亲手造出这台“机器”,建立攻克选考压轴题的执业信心。三、教学重点与难点教学重点是数组下标与循环变量的协同使用,即用同一下标贯穿商品名称数组、单价数组与库存数组,实现一次循环输出整张商品表。教学难点有两个。其一是找零算法的贪心思想在VB中的落地,学生需要理解“从大面额到小面额依次整除取余”为何在常用币值体系下是最优的;其二是循环退出条件的精确设计,特别是库存为零、余额不足、找零失败三类异常交织出现时,如何用布尔变量理清程序的走向而不让逻辑打结。四、教学方法与课前准备本课采用任务驱动教学法与分层递进教学法,主线任务只有一个——让上一课搭好的半成品真正卖出商品、找回零钱。教师演示采用“故意出错”策略,每写完一段就运行一次,让学生在报错与异常结果中学会读错误信息。课前准备包括教师机中预置的三个半成品项目文件,分别对应基础、进阶、挑战三个层次;机房每台机器检查VB6.0精简版运行环境;上一课的学生作业文件以小组为单位整理存档,本课直接在其基础上续写;黑板右侧提前写好本课的词汇墙,列出Flag、Mod运算、整除运算符、ExitDo四个本课必用概念。五、教学过程(一)情境回顾与问题暴露,用时约六分钟上课伊始,教师不做任何形式的寒暄式导入,直接运行上一课某个小组的半成品。屏幕上,投币按钮被连续点击,余额数字从0涨到5元,点击“购买可乐”按钮后,余额纹丝不动,商品也没有从列表中消失。教师向全班提问:这台机器收了钱却不给货,问题出在哪个环节。学生很快反映过来:上一课只写了投币,没写选购和扣款。教师顺势在黑板上画出一条时间线——投币、选货、扣款、出货、找零,指着后三个空白的方框说,今天的任务就是把这三个框填实。这一环节的设计意图不是简单复习,而是让学生亲眼看到“半成品”的残缺性,从而产生完善它的内在驱动力。任务不是教师强加的,是程序本身的缺陷逼出来的。(二)数据结构设计:数组登场,用时约十分钟教师提出第一个真问题:售货机里有可乐三瓶、雪碧两瓶、矿泉水五瓶,价格分别是三元、两元五角、一元五角,用我们已经学过的变量,怎么存。学生第一反应是定义九个变量。教师不否定,顺着学生思路在黑板列出name1、price1、stock1、name2、price2、stock2……列到第六个时停下来问:如果商品种类变成三十种呢。学生在笑声中意识到此路不通。教师引入一维数组,给出声明语句:DimNameArr(1To3)AsString,DimPriceArr(1To3)AsSingle,DimStockArr(1To3)AsInteger。随后在黑板上画出三行三列的表格,三个数组纵向对齐,让学生直观看到“下标i同时指向第i种商品的名称、价格和库存”这一映射关系。此处安排一个一分钟快速练习:用循环把三种商品的信息输出到ListBox列表框,格式为“编号—名称—单价—库存”。学生写下核心代码。Fori=1To3List1.AddItemi&""&NameArr(i)&""&PriceArr(i)&"元库存"&StockArr(i)Nexti教师巡视时重点观察两类错误:一类是数组下标从0开始还是从1开始的边界混淆,另一类是字符串连接符&两侧的运算次序。对共性问题即时板书纠正,对个别问题俯身点拨。本环节的落点是让学生形成“一组下标管多组数据”的稳定图式,这是选考中数组应用题的底层通法。(三)选购模块:条件判断与库存更新,用时约十二分钟教师提出第二个问题:用户选中列表框中的第i项,点“购买”,程序应该干几件事,按什么顺序。学生分组讨论两分钟,教师收集各组答案并在黑板归并为四步:判断余额是否不小于单价;若够,扣减余额;该商品库存减一;更新界面显示。随后教师追问一个被多数小组忽略的环节:如果库存已经是零呢。这个追问把学生引入“二重判断”的结构——先判断库存非零,再判断余额充足,两个条件都不能少。学生在教师给出的代码框架上补全关键语句。i=List1.ListIndex+1IfStockArr(i)=0ThenMsgBox"商品已售罄"ElseIfBalance<PriceArr(i)ThenMsgBox"余额不足,请继续投币"ElseBalance=BalancePriceArr(i)StockArr(i)=StockArr(i)1Label2.Caption="余额:"&Balance&"元"EndIf教师在这里特别强调ListIndex属性从0开始而数组下标从1开始的错位问题,这恰恰是选考选择题中反复出现的陷阱,本节课让学生在真实报错中记住它:有学生没写加一,结果买“雪碧”扣的是“矿泉水”的钱,运行结果当场露出了马脚。调试环节采用小组互测的方式:每组完成选购功能后,由邻组同学扮演“刁钻顾客”,尝试点击售罄商品、余额不足购买、反复购买直至库存清零三种操作,记录程序表现。被测出逻辑漏洞的小组当堂修正。这一设计把程序测试的意识无声地植入复习课。(四)投币循环的深化:Do循环的出场时机,用时约八分钟教师抛出第三个问题:上一课的投币是点一次按钮加一次钱,真实的售货机是“顾客塞钱直到够了为止”,如果要求程序连续接收投币直到余额不低于三元,用For循环合适吗。学生思考后意识到,循环次数事先未知,这正是For循环的短板。教师给出两类Do循环的对照板书:当型DoWhile…Loop是先判断后执行,直到型DoUntil…Loop同样先判断但只要条件不成立就继续。教师用一句话点破选择原则——循环次数已知用For,循环次数未知看条件用Do。学生改写投币模块,模拟版代码如下。Balance=0DoWhileBalance<3coin=Val(InputBox("请投币(1元/5角)"))Ifcoin=1Orcoin=0.5ThenBalance=Balance+coinElseMsgBox"非法币种,请重投"EndIfLoop教师在此处设置一个“坑”:故意把循环条件写成Balance<=3,让学生运行后发现余额刚到3元又被要求继续投币,从而理解边界值取还是不取对程序行为的决定性影响。这个细节对应选考中“循环体执行次数”的高频错题,处理一次胜过做题十道。(五)找零算法:贪心思想的VB落地,用时约十四分钟这是本课思维含量最高的环节。教师给出情境:顾客买一瓶两元五角的可乐,投了五元纸币,应找零二元五角。机器里有五角和一元两种零钱,程序该怎么找。许多学生的第一反应是逐个五角去扣,写了五行减法。教师展示一段运行效果后问:如果余额是十八元,要找十七元,你的机器要数三十四个五角硬币,顾客会等得急吗。笑声中教师引出贪心思路:先给大面额,能给多少给多少,剩下的给小面额。教师带领学生推导核心两行:一元硬币张数等于找零金额整除一,取整后更新剩余金额;五角硬币个数等于剩余金额除以零点五取整。由于涉及浮点运算的精度风险,教师示范把金额统一换算成“角”为单位的整数处理,彻底绕开小数误差。DimchangeAsInteger,oneYAsInteger,fiveJAsIntegerchange=Int(Balance10)oneY=change\10change=changeoneY10fiveJ=change\5教师强调其中反斜杠是整除运算符,与斜杠的区别必须写到位;金额乘十转整数是处理人民币计算的通用技巧,选考中凡涉及钱的题目都适用。完成基础找零后,教师投放分层任务。基础层:运行三组数据验证找零正确。进阶层:给机器加上零钱库存限制,当一元硬币不够用时自动改用五角补齐。挑战层:考虑“找不开”的极端情形,例如机器里只剩两个五角而需找一元,程序应弹出提示并退币终止交易。挑战层的处理需要引入一个布尔标志变量Flag,交易成功置为True,找不开置为False,循环结束后据Flag决定输出口径。教师在黑板演示标志变量的双分支用法,点明它就是选考压轴题里“查找成功与失败两类结果分别输出”的同款结构。(六)整机组装与全流程测试,用时约十分钟四个模块各自就绪后,教师引导学生把程序还原为整机:窗体加载时初始化数组并打印商品清单,投币按钮完成金额累加,列表框点选配合购买按钮完成选购与扣款,退币按钮触发找零并清零余额。全班按统一的测试用例表逐项验证,用例包括:投一元买三元商品,观察是否提示余额不足;连续投币至五元买两元五角商品,检查找零为二元五角;将某商品库存买空后再次购买,检查是否提示售罄;零钱不足时触发退币保护。每一项通过打勾,未通过回到对应模块排查。教师巡视期间收集到两份典型错误并投屏讲评。一份是找零后忘记把Balance清零,导致下次交易带着上次的余额;另一份是库存递减写在了余额判断之外,余额不足时库存照样被扣。这两个错误恰好覆盖“状态没复位”和“语句缩进即逻辑层级”两类经典缺陷,讲评价值极高。(七)课堂小结与作业布置,用时约五分钟小结不采用教师复述的方式,而是请三名学生各用一句话概括今天最重要的一个收获。教师将学生的回答提炼为板书三行:下标同源,一组下标统领多组数据;循环选型,次数已知用For、次数未知看条件;状态干净,每次交易结束后所有变量要回到初始值。作业分两层。必做题:为本机增加“显示累计营业额”功能,每次成功交易把单价累加到一个全程变量中,通过菜单按钮查看。选做题:把商品种类扩充到五种并允许管理员通过文本框补货,思考补货功能与数组下标的关系如何变化。六、板书设计主板书自上而下排列四个模块的名称与关键语句:初始化区写出三行数组声明,投币区写出DoWhile循环骨架,选购区写出双重If判断的结构框,找零区写出整除运算的两行核心式。副板书保留三个临时版块:词汇墙、错误档案、学生金句,课堂进程中随时增补。整版板书左实右虚,左边是程序的骨架,右边是思维的痕迹。七、教学评价设计本课评价采用过程性record与终结性作品相结合的方式。过程性评价依托小组互测记录单,记录每组在三类异常测试中的表现等级;终结性评价看最终提交工程文件的四个达标点:数组定义与输出正确、选购逻
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 古代名人写作素材
- 无痛胃肠镜复苏流程
- 2026年量子通信网络授时服务加密
- 妇产科护理新进展解析
- 深度损伤题库试题及答案大全
- 血站实验室ISO 15189认可与血液筛查技术培训班试题及答案
- 医学课件-吞咽障碍专业知识讲座
- 词汇模拟考卷及标准答案
- 依那普利治疗充血性心力衰竭及对内皮素、肾素血管紧张素系统的影响
- 儿科单项选择题给出详细答案
- 六年级说明文阅读题共6篇
- 新疆乌鲁木齐市第四中学2024-2025学年高二地理上学期期末考试试题
- 部编版四年级上册语文《现代诗二首》
- TCHAS 10-4-14-2021 中国医院质量安全管理 第4-14部分:医疗管理应急管理
- UPVC管粘接施工工艺
- 服饰品配件设计概论
- 变压器生产工艺设计
- GB/T 16623-2022压配式实心轮胎技术规范
- JJG 875-2019数字压力计
- GB/T 28020-2011饰品有害元素的测定X射线荧光光谱法
- 高考体育单招英语复习 虚拟语气(特殊用法2) 讲义3
评论
0/150
提交评论