【VB开源代码栏目提醒】:网学会员--在 VB开源代码编辑为广大网友搜集整理了:《身份证号中有效信息的提取 VB函数的运用》教学设计 - 毕业设计绩等信息,祝愿广大网友取得需要的信息,参考学习。
《身份证号中有效信息的提取——
VB 函数的运用》教学设计湖北省黄石市第二中学 李 志 汤青婷 一、教学内容分析 本节课是教育科学出版社普通高中
课程标准实验教科书《算法与程序设计(选修)》第 本节内容是在学生初步了解了
VB 的编程环境以及
VB 中的数据类型、二章第二节的部分内容。
变量的使用以后,进一步向学生展示
VB 强大的函数功能。
本案例通过身份证号中有效信息的提取为主线,让学生在分析、探究中学会函数的使用方法,并通过编写程序、调试程序、修改程序、运行程序,掌握计算机解决问题的一般过程。
二、教学目标目标维度 行为目标 (1)能理解函数,并选择函数解决实际问题。
知识与技能 (2)能理解函数嵌套的使用。
(3)能熟练编写、修改、运行程序。
过程与方法 能灵活运用函数编写程序解决实际问题 (1)通过任务驱动,逐步深化对知识的理解,提高分析问题、情感态度与价值观 解决问题的能力。
(2)通过问题的解决,提高自主学习的能力。
三、教学重难点 (1)重点:能合理选择函数并灵活运用函数编写程序解决实际问题。
(2)难点:能合理选择函数、理解函数嵌套的使用。
四、教学流程 五、教学过程 (一)创设情景,导入新课 教师:同学们,老师手上拿的是什么? 学生:身份证。
教师:现在,我们一起来做一个游戏,我报一个身份证号,大家来告诉我他(她)的出生日期、性别以及年龄。
学生:好! 教师:老师手上拿的这个身份证号码是:420203,请问他(他)的出生日期、性别和年龄。
学生:他是男生,出生年月是 1994 年 08 月 08 日,今年 16 岁。
教师:很好,大家怎么判断的呢? 学生:身份证号中一些特定数字,表示了特殊含义,第 7~14 位表示出生日期,倒数第二位数字表示性别,如果是奇数代表男性,如果是偶数则代表女性。
年龄我们可以用 2010减去他的出生年份 1994,所以他今年 16 岁。
教师:这位同学回答得很好,我们每一个人都有一个唯一的身份证号,并且身份证号的各位数字都有其特定的含义,下面跟我一起总结一下其中的规律(如图 1)。
图1 教师:上面我们了解了身份证号中数字的奥秘。
如果让我们帮忙设计一个
VB 程序,当我们任意输入一个身份证号,就在屏幕上显示他(她)的省份
代码、出生日期、年龄、性别等信息,我们该怎么做呢? 设计意图:以小游戏的形式设问,能够快速吸引学生的注意,引起学生的兴趣,以学生已有知识作为背景,减少学生对程序设计的畏难情绪,为后面任务的开展打下良好的基础。
(二)师生探究,构建新知 1.任务一:提取身份证号(420203)中的省份信息(师生共同分析)。
教师:同学们,我们刚才总结过,1~2 位表示省份,我们需要提取 420203中的 42 即可。
我们该怎么提出这一串数字中 1~2 两位呢?
VB 提供了很多函数,现在请大家把课本翻到书第 31 面,阅读课本中的表 2-9,请大家根据需要,选择一个合适的函数,并说说你是怎么选择的? 学生:可以使用 Left 函数,Left(“420203”,2)的结果就是 42。
因为我们需要提取身份证号最左边的两位,根据 Left 函数功能描述:“截取字符串左边的部分”,所以选择 Left 函数。
教师:很好,我们可以根据函数的功能选择函数,选择函数后,我们需要正确使用函数的参数,这样才能达到我们的目的。
教师:通过打开提前准备好的
VB 程序,通过大屏幕向学生展示,如图 2。
图2 然后运行该程序,点击确定按钮,如图 3。
图3 教师:为什么老师点击确定按钮以后程序没有任何反应呢? 学生:老师没有将结果输出。
教师:对,程序中没有用输出语句。
那应该用什么语句呢? 学生:print 语句。
教师:修改程序
代码,再次运行。
Private Sub Command1_Click() Dim province As String province Left(420203 2) Print province End Sub 程序在屏幕左上角显示了 42,看来我们达到了目的,但是,显示不够美观,我们能不能显示为“省份
代码:42”呢?请大家打开老师发给大家的
VB 程序
代码,将其中的 printprovince 语句改为: print 省份
代码 province (和 print 省份
代码 ; province)分别看看
程序运行结果。
学生:在
VB 编辑环境中修改程序
代码,并运行。
设计意图:通过师生共同分析,学生自主学习课本中的表 2-9 中函数的功能,正确选择出解决实际问题的函数。
教师通过演示程序
代码,降低了学生直接编写
代码的难度。
通过展示程序,在师生共同努力下完成任务一,任务一涉及到了 Left 函数的使用,通过师生共同探索,学生在首次面对本节课的教学重点与难点时没有感到很大的困难,轻松地构建了学生解决问题所需的新知识。
任务一是师生共同完成的,仅初步学会了函数的使用方法,还需要学生独立练习,以便学生熟练地运用函数,所以需要进一步设置任务。
(三)任务驱动,自主探究 1.任务二:提取身份证号(420203)中的出生日期 教师:刚才我们大家都尝试了提取身份证号中的省份
代码信息,现在,两个人一组,尝试修改
代码,当我们点击确定按钮时输出如下结果(如图 4)。
图4 教师:请大家在修改
代码的过程中注意以下几个问题: ①是否需要新增变量,如果需要该如何定义? ②选用什么函数能满足我们程序的需要? ③如何让提取的信息分两行显示在屏幕上? 同组学生相互讨论,在
VB 中修改
代码,调试并运行。
教师下去辅导学生,注意观察学生存在的问题。
教师:很多同学完成了自己的作品,现在我请同学展示自己的作品。
教师切换到学生机屏幕,让学生展示自己的作品(根据教师的观察,特意选择正确和有问题的学生作品进行展示)。
(作品一) (作品二) 教师:看来,大家选用的函数很正确,都选用了什么函数? 学生:Mid 函数。
教师:但是,为什么两个同学程序运行的结果有差别呢?展示两位学生的程序
代码。
学生对比两位同学的程序
代码,发现其中的奥妙。
教师:差别就在于 print 语句使用不同,请大家自己总结。
设计意图:任务二是任务一的延伸。
设置的目的是巩固函数的选择和使用的方法,在此基础上,培养学生观察
问题、分析问题和解决问题的能力。
在任务二的基础上,设置任务三,进一步提高对学生的要求,让学生不仅能熟练编写
代码而且能灵活运用函数。
2.任务三:请大家在刚才程序的基础上,当我们点击确定按钮时,弹出一个输入身份证号的对话框,输入完成,点击确定以后,显示省份编号、出生日期、年龄和性别。
教师提示完成这个任务的关键:如何弹出一个对话框来获取身份证号码?如何解决年龄的计算?提示学生在做的过程中思考以下几个问题。
①弹出一个对话框获取身份证号,我们该选用什么函数? ②在计算年龄的时,我们应该选用什么函数? ③在计算时,数据类型是否一致?如果不一致时是否需要转换?如何转换? ④函数在使用过程中能否嵌套,该如何使用? 学生相互讨论,修改程序
代码,测试并运行程序。
教师通过多媒体电子教师
软件,展示学生作品,让学生讨论作品的优点与缺点。
师生共同总结 InputBox 函数和日期函数的嵌套使用法。
设计意图:通过前面任务一和任务二的探讨、
学习,让学生在函数的使用中领悟函数的嵌套使用,在这个过程中有些函数老师是没有具体讲解的,但是通过任务一和任务二,帮助学生提高举一反三的的能力,也就达到灵活运用函数解决实际问题的目的。
(四)交流总结,拓展延伸 1.总结 教师:本节课,我们通过三个任务,完成了在创设情景中提出的问题。
大家不仅学会了函数的使用,更重要的是我们熟悉了用
计算机解决实际问题的一般过程: 2.拓展延伸 教师:在本程序例子的基础上,我们能否在程序界面上进一步美化,设计出更好的程序呢?屏幕
演示图 5。
图5 教师:另外,老师给同学们一道课后思考题,大家可以下去完成。
3.自我评价 自我评价表 班级 姓名 学号 成绩 任务一 任务完成情况 任务二 (每个任务 20 分) 任务三 积极思考 课堂表现 踊跃回答问题 (每项 10 分) 组内互帮互助 创造性
设计 4.课后练习 湖北省招办为每位参加高考的学生发放了一个高考报名号,该号码由 14 位数字组成,如:10420202151267。
你能编写出一个程序来提取高考报名号中的信息吗? 高考报名号中各位数字所表示的意义: (1)前 1、2 位数字表示:参加高考的年份; (2)第 3、4 位数字表示:考生所在省份的
代码; (3)第 5、6 位数字表示:考生所在城市的
代码; (4)第 7、8 位数字表示:考生所在区县的
代码; (5)第 9、10 位数字表示考生报考科类:11 为文史,13 为艺文,14 为体文,15 为理工,17 为艺理,18 为体理。
(6)第 11-14 位数字为表示考生编号。
设计意图:通过回顾任务解决过程,帮助学生建立用计算机解决实际问题的基本思想,让他们了解程序设计的过程和方法,以达到对程序设计较为全面的认识。
六、教学反思
VB 中基本函数的使用这一教学内容,在教学中起到承上起下的作用。
如何根据学生已有的知识和技能,既体现高中信息技术教学的目标,又满足适合高中学生思维和能力发展的需要,是设计本课中需要重点思考和突破的地方。
在本节课的最初设计中,我并没有设计逐步深入的三个任务,而是采用“原始设计.ppt”中的教学流程,在老师讲授完基础知识以后,然后把大部分时间给学生自主探究,从整个教学过程来看,由于学生基础有限,能够完成整个任务的学生很少,效果不佳。
在此基础上,在另外一个班上课的时候,我修改了原来的教学设计,将原来的整个任务进行了细化,分成了三个小的任务,任务之间是逐步深入的,从教学效果来看,这种由易到难的设计,让学生更容易接受,通过一节课的学习,大部分学生能完成任务。
通过两节课的比较,个人认为学生自主学习、自主探究不能完全放开,依然需要在学生自主学习的过程中加入适时的引导,这样能够提高课堂效率。
但是,本节课这样的设计也有让我困惑的地方:教师对整个任务进行了分解,学生能否在自己面对实际问题的时候,也会自己去分析问题,解决问题呢?换句话说,老师在教学过程中,把教学内容嚼得过细,是否会让学生过多的受到教师思维定势的影响?是否会影响到学生创新能力的培养? 所以,在以后的教学过程中,需要不断摸索,找到学生探究与教师讲授之间最佳的结合点。