版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高三信息技术VB程序设计复习教学设计:自动售货机的程序实现(第一课时)一、教学背景分析本课面向高三年级信息技术选考复习阶段,内容为VB程序设计中的综合应用专题。学生已系统学习过顺序结构、分支结构、循环结构与数组等基础知识,具备编写简单程序的能力,但在面对真实情境的综合性问题时,普遍存在“会写片段、不会建模型”的短板。自动售货机是生活中随处可见的嵌入式系统,其背后的程序逻辑涵盖了变量定义、条件判断、循环等待、金额累计、找零计算等多个核心知识点,是高三复习阶段训练计算思维的优质载体。选考真题多次出现以“投币—选择—出货—找零”为流程的算法题,命题趋势明显指向真实问题情境的程序抽象。本课选取该主题,既贴合考情,又能让学生在熟悉的场景中感受程序设计的实用价值,避免复习课陷入纯刷题的枯燥循环。二、教学目标1.知识与技能目标:能够分析自动售货机的业务流程,用自然语言和流程图描述其工作逻辑;能够运用VB中的变量、If语句、Do循环、SelectCase语句编写售货机的核心功能模块;理解金额累加与找零计算的算法实现。2.过程与方法目标:经历“需求分析—功能分解—算法设计—代码实现—测试调试”的完整软件开发微流程,掌握将复杂问题拆解为若干功能模块的方法。3.情感态度与价值观目标:体会程序设计解决实际问题的价值,养成先设计后编码、先测试后交付的工程意识。三、教学重点与难点教学重点:商品选择与价格判断的代码实现,投币金额的累计与余额判断。教学难点:找零逻辑中循环结构的设计,即当投入金额不足时提示继续投币、金额充足时完成交易并计算应找金额的完整流程控制。四、教法与学法教法采用情境教学法、任务驱动法与分层递进法相结合。学法上引导学生自主探究、小组协作、上机实践,教师充当问题抛出者与关键节点的点拨者,避免满堂灌式复习。五、课前准备教师准备:多媒体机房、极域电子教室软件、VB6.0开发环境、自动售货机运行演示程序(成品)、半成品工程文件(界面已搭建、代码留空)、学习任务单、课堂评价量表。学生准备:回顾分支结构与循环结构的语法要点,观察一次自动售货机的实际使用过程并记录操作步骤。六、教学过程(一)情境导入,激活思维(约5分钟)上课伊始,教师在大屏幕上播放一段校园自动售货机的实拍视频:学生投入硬币、按下饮料按钮、商品落下、退币口吐出零钱。视频播放结束后,教师提问:“这个铁皮柜子里其实住着一位‘程序员’,它的每一个动作都对应着程序的某条语句。假如你是这位程序员,你需要让它做哪几件事?”学生自由发言,教师在黑板上随机记录关键词:收钱、判断够不够、给商品、找钱、钱不够要提醒、没钱不能给东西。教师不急于评价对错,而是追问:“这些事有没有先后顺序?哪些事情可能反复发生?”由此引出本课主题——用VB实现自动售货机的核心程序。设计意图:从真实生活场景切入,让复习课拥有第一课时的新鲜感;关键词板书为后续功能分解埋下伏笔,学生自己说出需求,比教师直接列出功能清单更能激活思维。(二)需求分析,功能分解(约8分钟)教师发放任务单第一部分,引导学生以四人小组为单位,填写“自动售货机功能分解表”:模块一,商品展示与选择。假设售货机出售三种商品:矿泉水2元、可乐3元、薯片5元。用户通过按钮选择商品。模块二,投币与金额累计。假设只接受1元硬币,用户可多次投币,程序需累计已投金额。模块三,金额判断。已投金额大于等于商品价格时,允许出货;否则提示“金额不足,请继续投币”。模块四,出货与找零。出货后计算应找金额,即已投金额减去商品价格,并提示找零。教师请两组学生展示分解结果,其余小组补充修正,最终在屏幕上呈现统一的功能流程图:开始,用户选择商品,程序读取商品价格p;随后进入投币环节,变量money清零,每投币一次执行money=money+1;接着判断money>=p是否成立,不成立则提示并回到投币环节,成立则出货,找零金额change=moneyp,输出提示,结束。此环节教师刻意强调一个易错点:投币动作是“可重复”的,因此必须用循环结构而不是一次性的If语句来处理,让学生初步感知本课难点的位置。设计意图:功能分解是计算思维中“抽象”与“分解”两大要素的落地。让学生先画图再写码,纠正“拿到题就敲代码”的不良习惯,这也是选考算法大题的审题基本功。(三)界面搭建,奠定基础(约7分钟)学生打开教师下发的半成品工程文件,界面已包含:三个商品按钮(cmdWater、cmdCola、cmdChip)、一个投币按钮(cmdCoin,每单击一次代表投入1元)、一个文本框(txtShow,用于显示提示信息)、两个标签分别用于显示商品价格与当前已投金额(lblPrice、lblMoney)。教师提问:“界面上的每个控件,对应我们分解出的哪个模块?”学生对照功能分解表一一回答,建立“界面元素—程序功能”的映射关系。教师顺势讲解窗体级变量的声明位置与意义:在窗体通用声明段定义DimmoneyAsInteger与DimpriceAsInteger,前者保存累计投币金额,后者保存所选商品价格。强调窗体级变量可被该窗体内所有事件过程访问,若声明在某按钮的单击事件内部,则过程中变量一离开过程就消失,金额无法累计——这是学生以往作业中频率极高的错误。学生上机操作:为三个商品按钮编写单击事件,实现“选择某商品后,lblPrice显示价格,money清零,txtShow提示已选择某商品,请投币”。参考代码结构如下(教师巡视,对薄弱学生提供代码填空卡):PrivateSubcmdWater_Click()price=2money=0lblPrice.Caption="商品价格:2元"lblMoney.Caption="已投金额:0元"txtShow.Text="已选择矿泉水,请投币"EndSub可乐与薯片两个按钮由学生仿写完成,教师要求学生不复制粘贴而是手写,借此强化事件过程的书写规范。设计意图:分层提供支持,基础薄弱学生依靠填空卡也能完成任务,保持学习信心;强调窗体级变量的作用是直击高频失分点,体现复习课的诊断价值。(四)核心攻坚:投币累计与金额判断(约12分钟)这是本课重心。教师先抛出半成品思路:“投币按钮每单击一次,money加1,然后立刻判断够不够。如果够,就出货找零;如果不够,就提示继续投币。”请学生思考:这样的结构需要循环吗?经过讨论,学生意识到:在事件驱动的程序中,“反复投币”是由用户多次单击按钮天然构成的循环,程序内部的Do循环在这里反而多余;循环判断体现在“每次单击后都要重新判断”这一逻辑上。教师肯定这一发现,指出事件驱动编程与顺序执行程序的思维差异,这是VB区别于纯算法题的关键认知。学生编写cmdCoin的单击事件:PrivateSubcmdCoin_Click()money=money+1lblMoney.Caption="已投金额:"&money&"元"Ifprice=0ThentxtShow.Text="请先选择商品"money=0ExitSubEndIfIfmoney>=priceThentxtShow.Text="交易成功!找零"&(money–price)&"元"money=0price=0ElsetxtShow.Text="金额不足,还差"&(price–money)&"元,请继续投币"EndIfEndSub教师引导学生关注三个细节:其一,防止用户未选商品就投币,用price=0作为判断标志,体现程序的健壮性;其二,交易完成后必须将money与price复位,否则下一次交易会沿用旧数据,这一类“状态复位”问题在真题中常以改错形式出现;其三,提示信息中“还差x元”通过减法运算动态生成,比固定文字更友好,让学生体会字符串连接运算符&的妙用。随后教师趁热打铁,提出改进任务:如果售货机接受1元和5元两种硬币,程序该如何修改?学生思考后得出:增加一个投5元按钮,其中写入money=money+5,其余判断逻辑完全复用。教师点明:好的程序设计就是把公共逻辑集中、把变化的部分独立,这正是模块化思想的萌芽。(五)拓展提升,对接选考(约8分钟)教师在大屏幕展示一道改编自选考题目的算法题:某自动售货机商品价格为p元,顾客依次投入若干枚1元硬币,直到金额不小于p为止,请用DoWhile循环描述“持续收币”的过程。学生独立在学案上书写伪代码或VB代码段:money=0DoWhilemoney<pmoney=money+Val(InputBox("请投币(输入投入金额)"))LoopPrint"找零:"&(money–p)&"元"教师对比两段代码:界面版靠“用户单击”驱动,文本版靠“Do循环”驱动,二者算法本质相同——都是“条件不满足就继续累加,满足则退出并结算”。请学生归纳出本题的算法模型:累加求和直到超过阈值。教师补充:同类模型还包括“猜数字直到猜对”“输入密码直到正确”“存款利息累计到目标”等,请学生说出一两个生活实例并尝试归类。设计意图:同一算法在两种形态(事件驱动与循环结构)下的对照,能帮助学生在选考的程序阅读题和算法填空题之间自如迁移,达成复习课“以一带多”的效能。(六)测试调试,工程体验(约3分钟)学生使用教师提供的测试用例运行自己的程序:用例一,选可乐投3枚1元,预期找零0元;用例二,选薯片投2枚后看出提示,再投3枚,预期找零0元;用例三,选矿泉水投5元硬币(若实现了5元按钮),预期找零3元;用例四,不选商品直接投币,预期出现提示且不累计金额。教师强调:测试不是程序写完后可有可无的点缀,而是开发流程的必经环节;能设计出发现错误的测试用例,本身就是高水平程序能力的体现。(七)课堂小结与作业布置(约2分钟)师生共同回顾:今天我们完成了从需求到代码的全过程,核心收获有三:一是功能分解的方法,二是窗体级变量与状态复位的意识,三是“累计—判断—结算”这一通用算法模型。分层作业:基础层,为本程序增加“退币”按钮,实现放弃交易并全额退款;提高层,增加库存功能,每种商品限量3件,售罄后提示并拒绝交易;挑战层,思考如何用数组管理商品信息,为下一节课“自动售货机(二)——数组与多商品管理”做准备。七、板书设计主板书以流程图形式呈现“选择商品→投币累
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 场景音乐课程设计
- 基于SolidWorks的减速器技术方案课程设计
- 初步健身课程设计范文
- 采摘设备课程设计
- 模具设计师岗位设计考试试卷及答案
- WebGL粒子系统动态框架课程设计
- Agent框架代码解析课程设计
- 码垛机器人调试技师考试试卷及答案
- 2026年小学师德师风学习计划与部署课件
- 高温季节作息调理养生课件
- 英语名词性从句语法总结与练习题集
- 2025年秋期部编人教版四年级上册小学语文全册教案(教学设计)(新课标核心素养教案)
- 人教版(2024)三年级上册数学第一单元观察物体课件全套
- (正式版)DB65∕T 4075-2017 《电子政务外网承载规范》
- 有限空间作业安全专项施工方案
- 锂电池工艺流程及制程控制点详解
- ZBK-1000可燃毒性气体报警控制器说明书-安福电子
- 2025人教版七年级英语下全册单词字贴(衡水体)
- 工程工地工人考勤表
- 小学生路队教学课件
- T/CECS 10201-2022丁基橡胶自粘防水卷材
评论
0/150
提交评论