haihongyuan.com
海量文库 文档专家
全站搜索:
您现在的位置:首页 > 小学教育 > 小学其它学科小学其它学科

身份证号中有效信息的提取VB函数的运用

发布时间:2013-12-22 16:51:16  

《身份证号中有效信息的提取──VB函数的运用》教学设计

湖北省黄石市第二中学 李 志 汤青婷

一、教学内容分析

本节课是教育科学出版社普通高中课程标准实验教科书《算法与程序设计(选修)》第二章第二节的部分内容。本节内容是在学生初步了解了VB的编程环境以及VB中的数据类型、变量的使用以后,进一步向学生展示VB强大的函数功能。本案例通过身份证号中有效信息的提取为主线,让学生在分析、探究中学会函数的使用方法,并通过编写程序、调试程序、修改程序、运行程序,掌握计算机解决问题的一般过程。

二、教学目标

三、教学重难点

(1)重点:能合理选择函数并灵活运用函数编写程序解决实际问题。

(2)难点:能合理选择函数、理解函数嵌套的使用。

四、教学流程

五、教学过程

(一)创设情景,导入新课

教师:同学们,老师手上拿的是什么?

学生:身份证。

教师:现在,我们一起来做一个游戏,我报一个身份证号,大家来告诉我他(她)的出生日期、性别以及年龄。

学生:好!

教师:老师手上拿的这个身份证号码是:420203199408082134,请问他(他)的出生日期、性别和年龄。

学生:他是男生,出生年月是1994年08月08日,今年16岁。

教师:很好,大家怎么判断的呢?

学生:身份证号中一些特定数字,表示了特殊含义,第7~14位表示出生日期,倒数第二位数字表示性别,如果是奇数代表男性,如果是偶数则代表女性。年龄我们可以用2010减去他的出生年份1994,所以他今年16岁。

教师:这位同学回答得很好,我们每一个人都有一个唯一的身份证号,并且身份证号的各位数字都有其特定的含义,下面跟我一起总结一下其中的规律(如图1)。

图1

教师:上面我们了解了身份证号中数字的奥秘。如果让我们帮忙设计一个VB程序,当我们任意输入一个身份证号,就在屏幕上显示他(她)的省份代码、出生日期、年龄、性别等信息,我们该怎么做呢?

设计意图:以小游戏的形式设问,能够快速吸引学生的注意,引起学生的兴趣,以学生已有知识作为背景,减少学生对程序设计的畏难情绪,为后面任务的开展打下良好的基础。

(二)师生探究,构建新知

1.任务一:提取身份证号(420203199408082134)中的省份信息(师生共同分析)。

教师:同学们,我们刚才总结过,1~2位表示省份,我们需要提取420203199408082134中的42即可。我们该怎么提出这一串数字中1~2两位呢?VB提供了很多函数,现在请大家把课本翻到书第31面,阅读课本中的表2-9,请大家根据需要,选择一个合适的函数,并说说你是怎么选择的?

学生:可以使用Left函数,Left(“420203199408082134”,2)的结果就是42。因为我们需要提取身份证号最左边的两位,根据Left函数功能描述:“截取字符串左边的部分”,所以选择Left函数。

教师:很好,我们可以根据函数的功能选择函数,选择函数后,我们需要正确使用函数的参数,这样才能达到我们的目的。

教师:通过打开提前准备好的VB程序,通过大屏幕向学生展示,如图2。

图2

然后运行该程序,点击确定按钮,如图3。

图3

教师:为什么老师点击确定按钮以后程序没有任何反应呢?

学生:老师没有将结果输出。

教师:对,程序中没有用输出语句。那应该用什么语句呢?

学生:print语句。

教师:修改程序代码,再次运行。

Private Sub Command1_Click()

Dim province As String

province = Left("420203199408082134", 2)

Print province

End Sub

程序在屏幕左上角显示了42,看来我们达到了目的,但是,显示不够美观,我们能不能显示为“省份代码:42”呢?请大家打开老师发给大家的VB程序代码,将其中的print province 语句改为: print "省份代码" , province (和print "省份代码" ; province)分别看看程序运行结果。

学生:在VB编辑环境中修改程序代码,并运行。

设计意图:通过师生共同分析,学生自主学习课本中的表2-9中函数的功能,正确选择出解决实际问题的函数。教师通过演示程序代码,降低了学生直接编写代码的难度。通过展示程序,在师生共同努力下完成任务一,任务一涉及到了Left函数的使用,通过师生共同探索,学生在首次面对本节课的教学重点与难点时没有感到很大的困难,轻松地构建了学生解决问题所需的新知识。

任务一是师生共同完成的,仅初步学会了函数的使用方法,还需要学生独立练习,以便学生熟练地运用函数,所以需要进一步设置任务。

(三)任务驱动,自主探究

1.任务二:提取身份证号(420203199408082134)中的出生日期

教师:刚才我们大家都尝试了提取身份证号中的省份代码信息,现在,两个人一组,尝试修改代码,当我们点击确定按钮时输出如下结果(如图4)。

图4

教师:请大家在修改代码的过程中注意以下几个问题:

①是否需要新增变量,如果需要该如何定义?

②选用什么函数能满足我们程序的需要?

③如何让提取的信息分两行显示在屏幕上?

同组学生相互讨论,在VB中修改代码,调试并运行。

教师下去辅导学生,注意观察学生存在的问题。

教师:很多同学完成了自己的作品,现在我请同学展示自己的作品。教师切换到学生机屏幕,让学生展示自己的作品(根据教师的观察,特意选择正确和有问题的学生作品进行展示)。

(作品一) (作品二)

教师:看来,大家选用的函数很正确,都选用了什么函数?

学生:Mid函数。

教师:但是,为什么两个同学程序运行的结果有差别呢?展示两位学生的程序代码。

学生对比两位同学的程序代码,发现其中的奥妙。

教师:差别就在于print语句使用不同,请大家自己总结。

设计意图:任务二是任务一的延伸。设置的目的是巩固函数的选择和使用的方法,在此基础上,培养学生观察问题、分析问题和解决问题的能力。在任务二的基础上,设置任务三,进一步提高对学生的要求,让学生不仅能熟练编写代码而且能灵活运用函数。

2.任务三:请大家在刚才程序的基础上,当我们点击确定按钮时,弹出一个输入身份证号的对话框,输入完成,点击确定以后,显示省份编号、出生日期、年龄和性别。

教师提示完成这个任务的关键:如何弹出一个对话框来获取身份证号码?如何解决年龄的计算?提示学生在做的过程中思考以下几个问题。

①弹出一个对话框获取身份证号,我们该选用什么函数?

②在计算年龄的时,我们应该选用什么函数?

③在计算时,数据类型是否一致?如果不一致时是否需要转换?如何转换?

④函数在使用过程中能否嵌套,该如何使用?

学生相互讨论,修改程序代码,测试并运行程序。

教师通过多媒体电子教师软件,展示学生作品,让学生讨论作品的优点与缺点。

师生共同总结InputBox函数和日期函数的嵌套使用法。

设计意图:通过前面任务一和任务二的探讨、学习,让学生在函数的使用中领悟函数的嵌套使用,在这个过程中有些函数老师是没有具体讲解的,但是通过任务一和任务二,帮助学生提高举一反三的的能力,也就达到灵活运用函数解决实际问题的目的。

(四)交流总结,拓展延伸

1.总结

教师:本节课,我们通过三个任务,完成了在创设情景中提出的问题。大家不仅学会了函数的使用,更重要的是我们熟悉了用计算机解决实际问题的一般过程:

2.拓展延伸

教师:在本程序例子的基础上,我们能否在程序界面上进一步美化,设计出更好的程序呢?屏幕演示图5。

图5

教师:另外,老师给同学们一道课后思考题,大家可以下去完成。

3.自我评价

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”中的教学流程,在老师讲授完基础知识以后,然后把大部分时间给学生自主探究,从整个教学过程来看,由于学生基础有限,能够完成整个任务的学生很少,效果不佳。在此基础上,在另外一个班上课的时候,我修改了原来的教学设计,将原来的整个任务进行了细化,分成了三个小的任务,任务之间是逐步深入的,从教学效果来看,这种由易到难的设计,让学生更容易接受,通过一节课的学习,大部分学生能完成任务。通过两节课的比较,个人认为学生自主学习、自主探究不能完全放开,依然需要在学生自主学习的过程中加入适时的引导,这样能够提高课堂效率。

但是,本节课这样的设计也有让我困惑的地方:教师对整个任务进行了分解,学生能否在自己面对实际问题的时候,也会自己去分析问题,解决问题呢?换句话说,老师在教学过程中,把教学内容嚼得过细,是否会让学生过多的受到教师思维定势的影响?是否会影响到学生创新能力的培养?

所以,在以后的教学过程中,需要不断摸索,找到学生探究与教师讲授之间最佳的结合点。

网站首页网站地图 站长统计
All rights reserved Powered by 海文库
copyright ©right 2010-2011。
文档资料库内容来自网络,如有侵犯请联系客服。zhit326@126.com