vb学生成绩管理系统范例6篇

vb学生成绩管理系统

vb学生成绩管理系统范文1

【关键词】《VB程序设计》;教学模式;优化策略

在中职学校教学中,课堂有效性相对于普通中学而言大幅下降。究其原因,主要在于大多数中职学生在小学、初中时期养成的不良学习习惯,在自制力不强情况下,学生存在厌学、旷课或是上课不专心现象。加上《VB程序设计》这门课程相对于其它计算机课程而言难度较大,教学内容又是学生在日常生活中难以接触到的,因此学生对这门课程的兴趣并不高。在兴趣缺乏以及自制力控制较差两者结合下,这一课程的课堂教学模式亟待改进,课堂有效性必须切实提升。本文针对这一问题,以《VB程序设计》高效课堂的构建方式为主线,现做出如下报告:

一、激发学生兴趣,注重课堂导入

俗话说,兴趣是学习最好的老师,因此要想提升课堂教学效率,首先要将学生的兴趣提起来,确保学生愿意去学习这一课程,在有兴趣的前提下展开教学。由于中职学生普遍都不爱记英语单词,这就加大了《VB程序设计》这门课的教学难度,学生在初期接触时可能存在完全听不懂的情况,老师此时应注意适当引导,不要让学生在刚开始学习时就产生抵触或是畏惧心理。

学生在学习这一课程时,大多处于程序设计初学者阶段,老师在讲授相关理论知识时若一开始就将大量基础名词或是语法规则、编程步骤(算法)等灌输给学生,学生必然会感觉到乏味枯燥。因此在课堂导入方面,老师应尽可能不要使用“通过一个概念导出另一个概念”的模式,可以通过教学演示,先激发学生的学习兴趣,从实际操作着手,给学生演示小程序的运行效果,例如计算器、扫雷等,然后引导学生对程序组成部分进行分析,讲解基本知识点,接着指导学生通过一步一步的模拟操作完成一系列教学任务,让他们感受到编程的乐趣。例如在学习“VB常用控件及应用”这一章节时,由于常用控件较多,一个一个讲解过于单一和枯燥,老师可以用office软件中“格式-字体”设置对话框为例进行导入,操作演示如何利用VB语言设计一个简易的“字体设置对话框”,这对于学生来说是一个很熟悉的对象,很容易引起学生学习的兴趣。遵循循序渐进的原则,一定要避免一开始就让学生自己摸索操作,使得他们在课程开始时便感觉到难度,极易产生学习抵触情绪。

二、完善教学模式,注重学生参与

用VB语言完成程序设计通常分为可视化编程和代码编程两部分,对于前者,大多数的学生通过几次模拟练习后就容易掌握,而对于后者,教和学容易脱节,往往要求学生更主动地参与课堂,能紧跟老师的教学思维,进而培养自己的编程思维。

因此老师应注重学生课堂参与,提升与学生之间的互动程度。具体而言,可通过课堂提问或是开展小组活动来完成。老师在课前围绕教学内容设置若干个小程序,并将程序难度分成三个层次:模拟练习、实践练习、课堂活动。模拟练习以老师为主角色,向学生讲解分析知识点,演示简单的程序让学生模仿操作。实践练习以学生个体为主角色,老师以提问的方式引导学生完成程序的分析,然后自主完成程序设计。课堂活动以小组为主角色,老师只提出程序功能要求,让学生自己讨论设计出一个怎样的程序,然后由小组成员共同完成程序设计操作,最后将各小组程序进行对比分析,让学生自己评出最好的程序。这样一来,学生课堂参与度就高了,教和学就不容易脱节。这些小程序相对于理论知识而言更能够激发学生兴趣,在这样一种互动下,学生对《VB程序设计》这一课程的喜爱程度将大幅提升,且在亲自动手下完成目标程序之后,学生易获得成就感,进而提升对这门课程的兴趣,课堂可逐渐形成探索性学习、合作学习以及自主学习的高效教学与学习环境。

三、合理利用网络平台,实施课余远程辅导

由于《VB程序设计》在实践性方面比较强,学生在初期接触时必然存在难以理解的现象,且可能在几堂课完成之后仍旧感觉到有难度,认为自己无从下手。此时老师就应注重对学生的辅导,不仅要充分利用课堂上的时间,在课余时间也可辅助学生。《VB程序设计》的授课并非全部在机房进行,教室中的理论课程教学中学生无法及时运用理论指导实际操作,课后自己实践的时候存在问题又不能及时找到指导老师,造成兴趣的衰减。

针对这一现象,老师可将自己授课的教案或视频上传至学校教学资源库供学生浏览,通过网络展开课余辅导。同时师生还可以在网络上展开VB程序的实际应用讨论,例如学生想要设计图书馆管理系统,就应了解这个系统包含有哪些子系统,例如借书系统、还书系统、学生信息管理系统等,再进一步理清这些子系统之间的关系,再如超市销售系统、KTV点歌系统、游戏外挂等内容都可以进行交流,进一步提升学生对VB课程学习的积极性。通过网络交流减小了时间以及地点的限制,将学生课余时间作为了课堂教学的延伸,充分交流不仅可解决学生在实践操作上的困难,还能够加深学生与老师的情感,增进课堂上的互动性,为高效课堂教学打下基础。

四、完善考核模式,提升课堂效率

考核是老师检验学生学习情况以及自身教学有效性的重要方式,在考核中得到的成绩相对于平时课堂提问或是课后作业而言准确性更高。《VB程序设计》这一课程的考核主要以卷面形式为主,学生在学习任务完成之后统一考试来评判成绩。但这种只有一次机会的考核存在一定程度的偶然性,最终成绩可能受到一些因素的影响存在波动。因此在考核方面,应将卷面考试所占比重减小,提升平时成绩所占比重。

另外,老师还可以通过设置“课外实践”活动让学生利用课余时间完成一项VB程序的设计,进行拓展训练。老师可模拟若干个综合性强但设计简单的任务,由组长组织小组成员对任务进行分析,然后将任务按功能或模块分解给小组各个成员,每个成员完成各自相应的内容,这样既保障了程序的可移植性,又保障了每位学生的参与性,最后按程序设计完成情况计算至课程总分,完成效果好的甚至可以加分。

这样,通过理论加实践的考核,对于评估学生对《VB程序设计》这门课的掌握情况就相对客观,学生比较认可。

五、结束语

《VB程序设计》的课堂有效性提升必须考虑到这一课程的特点,老师应真正了解学生在学习上存在的困难,想办法解.决学生听课效率偏低的现象,让学生形成主动学习的状态,通过教学模式、评价模式等方面的优化全面打造高效课堂。

参考文献:

[1]沈美花.浅谈初中VB程序设计课堂教学的方法[J].考试周刊,2013,75:129-130

[2]卞爱莲.浅谈VB程序设计课程实施案例教学的策略和方法[J].职业,2011,02:82-83

vb学生成绩管理系统范文2

关键词:程序设计;Visual Basic;高职院校;计算机

【中图分类号】 G642 【文献标识码】 A 【文章编号】1671-8437(2012)02-0014-02

随着计算机技术和通信技术的飞速发展,计算机应用日益普及,以计算机技术、微电子技术和通信技术为特征的现代信息技术,已在社会各个领域产生与应用。高职院校开设计算机程序设计课,一方面拓宽了大学生知识结构,另一方面强化了学生的逻辑思维和数学思维。传统的计算机程序设计体系同急剧发展的计算机技术已不相适应,计算机程序设计教学体系应进行相应的改革,VB的教学也不例外。

1、高职计算机VB教学的特点

VB具有易学、功能强、见效快、采用事件驱动等特点,其教学可分为基础理论教学和程序界面设计教学两大部分,教学中应该采用“任务驱动”或“项目驱动”的方式进行,在任务或项目的完善完成过程中学习VB程序设计知识,避免单一枯燥的知识讲解,使学习变得有目的性和针对性,提高教学质量。

2、加强高职校计算机VB教学的措施

2.1分层制定教学目标

学生作为课堂教学的主要教学对象,其发展水平差异是客观存在的,在学习过程中,存在着差异,包括计算机知识水平差异、思维发展差异等。教师在教学中应根据学生所表现出来的差异进行分层,设计不同层次的学生模型,分层制定教学目标和教学内容,依据教学大纲设置不同层次的学生在教学活动中要达到不同的学习目标并依此安排不同的学习内容,激发学生努力探索而实现认知水平的重新架构。首先,要设置不同的教学目标,即把计算机程序设计课分为两个层次,一个基础层次,一个提高层次。基础层次要求学生掌握VB的基础知识和基本技能,能对软件进行进一步自学和知识的迁移;提高层次要求学生在达到基础层次的教学目标后,能综合运用所学知识和技能,解决实际问题。其次,根据不同的教学目标设计不同的教学内容。基础层次的教学内容是基本掌握VB的基本技能和应用,能独立编写小程序;提高层次的教学内容是熟练掌握VB的基本技能和应用并能用VB完成一个项目的策划与设计。

2.2教学内容的创新

2.2.1注重理论联系实际

VB是一种可视化编程语言,提供了丰富的控件,而面向对象、以事件驱动程序的特点,使得代码可以重用,把复杂的计算机语言、专业化的技术变成轻松自如的模块化应用。基于VB语言的编程特点,教师在课堂上应通过对企业应用项目的VB程序设计案例引出对象、控件等,激发了学生浓厚的学习兴趣,使枯燥无味的学习变得简单、有趣,从而达到理想的教学效果。

2.2.2注重实训

系统的理论学习能让学生掌握VB的程序设计的机制和原理,对VB知识体系的运用的训练则表现在实验实训上,实验实训能帮助学生加深对系统知识的理解,有助于学生正确运用所学知识。在课程教学开始或前期可以安排一个企业级或时下比较流行的项目开发,在章节的教学后根据教学内容加入功能,以此来锻炼学生的综合运用能力、强化理论知识,并适量安排一个或几个小项目,使实训活动跟着理论一起走。

2.3 教学方法的创新

2.3.1 发挥计算机多媒体的优势

在感觉受到关注、对学习充满兴趣、自己主导或参与、得到反馈;有成就感、有挑战性等情况下,学生的学习效果会更好。计算机多媒体技术的使用使得上述情况变得容易。在讲解VB程序设计时,可以把当前国际前沿的软件开发技术通过图片,视频,声音等多媒体形式概要地介绍给学生,给程序员蒙上了神秘、传奇的色彩。然后再用VB开发的应用程序示例如动画、游戏、各种有趣的软件给学生欣赏,激发学生的学习兴趣,让学生自主的参与到VB的学习中来。

2.3.2 实现分组学习,加强教学互动

学习活动并不是一个人孤立学习的过程,在教学和实训活动中,可以把学生分成几个小组,每个小组里都包括接受能力不一样的学生,小组内学生可以相互学习,共同完成项目。遇到不能解决的问题时,及时提出,相互讨论,共同解决;另一方面,教师可以对共性的问题集中讲解,有目的的答疑。这样,既加强了学生之间的学习交流,又增进了师生之间交流,达到提高教学效果的目的。

2.3.3 强化现场演示

VB是可视化的编程语言,它继承了面向过程的编程思想,但同时在交互式操作上有了革命性的改进。这使得对VB纯语法的使用率大大降低。使用多媒体教学,老师可以根据我们预定的工程项目,通过演示的方式逐步展开,对实际窗口的创建,代码的编写,算法的实现等现场操作,使学生能够看到具体操作的效果,更容易激发学生的学习兴趣,有助于学生掌握教学内容。

2.4 创新考核方法

根据高职院校“轻理论,重实践”的教学特点以及VB控件多、属性多、事件多等特点,对VB课程的考试应以注重学生主体在整个教学项目活动中是否主动参与、主动探究,是否实现了主体发展,是否有利于学习能力、实践能力、探索能力提高为出发点,采用项目考核、机试、笔试相结合的方式综合评价。

2.4.1 布置课后作业

在作业和试验环节同时进行的时候,根据教学内容和目标要求,可以在课程教学的初期布置几个大的项目作业,供学生以小组的形式选择。比如:要求学生设计一个学生成绩管理信息系统,随着讲课内容的深入,让学生逐渐加入功能,逐步完善,期末时根据完成的情况给出成绩,并按一定比例记入学生总成绩,激发学生的兴趣、积极性和竞争意识,使学生带着任务学习本课程。

2.4.2采用上机考核

采取一人一机的方式,老师给出考题,学生在规定的时间完成的形式来估学生成绩。这种考核方式本身就是对学生实践水平的一次检验,既考出了学生的实际应用能力,又体现了计算机课考试的现代性。

2.4.3上交自制作品

vb学生成绩管理系统范文3

关键词: VB程序设计; 案例教学; 教学模式; 教学效果

中图分类号:G642 文献标志码:A 文章编号:1006-8228(2012)05-52-03

Impact on teaching VB programming via different examples

Li Rong

(Department of Computer Science, Zengcheng College, South China Normal University, Guangzhou, Guangdong 511363, China)

Abstract: The author discusses in this paper the impact of different case-teaching modes on students in teaching VB programming, in order to explore a teaching mode which suits the teaching requirement of non-computer major, helps to raise students' ability to program and enhance the teaching effect of VB programming.

Key words: VB program design; Case teaching; Teaching mode; Teaching effect

0 引言

案例教学是一种以问题为核心、以案例为基点设计教学过程的教学模式。案例教学模式的主要目标是:形成和培养学生的问题意识,提高学生分析和解决实际问题的能力,发展学生的主体性,确立学生在学习中的主体地位;促进学生创造性的发展。传统的教学模式主要以现成知识传承与获得为目标,而案例教学模式主要以在知识的探究、迁移、运用基础上发展能力为目标,促进学生学习方式的变革。

在VB教学中实施案例教学基本上分为两类方法:一是案例讲解法,二是案例分析法。案例分析法首先讲思路,再一步一步讲如何实现。通过这些案例的讲解逐步渗透,给学生讲解程序结构、语法要求、对象的属性以及事件过程的代码编写思路,然后启发学生自己完成一个比较综合的小型程序,让学生知道学习VB后可以做到什么,并提高他们学习VB的兴趣。从解答题过程的角度分析案例,使学生获得解答题的目标结构步骤。这种教学模式的确能够在一定程度上改变学生问题表征、系统化问题和解答题步骤的知识,从而有利于案例学习的迁移。

本研究设计了演示不同实例的教学策略,要求学生完成多种程序设计专题任务。通过实例演示的教学设计来降低学生在学习VB程序设计语言的认识上的压力,通过完成专题任务来了解学生解决程序设计问题的能力。

1 研究方法

1.1 研究对象

以我院2010级学生作为研究对象。国际会计1班(共42人)采用含解题思路和解题步骤的实例;国际会计2班(共43人)采用只含解题步骤的实例。教学实验为期2周,每周4学时,共8学时。采用尚未学习的一维数组进行实验。实验前先对学习过的内容进行测试,测试结果在80分及以上认为是基础好的学生,80分以下认为是基础差的学生。最后实验分组如表1所示。

表1 实验分组情况

[[教学策略\&VB基础好差\&人数\&含解题思路和解题步骤的实例\&VB基础好\&15\&VB基础差\&27\&只含解题步骤的实例\&VB基础好\&18\&VB基础差\&25\&]]

1.2 研究设计

本研究使用spass统计软件的因子分析的研究法,探讨不同类型的实例呈现及VB基础好坏对数组的学习效果、程序设计专题解决能力的影响。本研究的变量如表2所示。

表2 研究的变量

[[自变量\&因变量\&不同类型的实例

1. 含解题思路和解题步骤的实例

2. 只含解题步骤的实例

学生VB基础的好坏

VB基础好

VB基础差\&一、程序语言学习效果

1. 语法理解能力

2. 程序逻辑理解能力

3. 问题解决能力

二、程序设计专题解决能力

1.专题任务一

2.专题任务二

3. 专题任务三\&]]

数组单元学习实例教案的设计原则如下。

⑴ 含解题思路和解题步骤的实例

采用教材提供的实例,为学生提供解题思路和解题步骤,目的是训练学习者思考怎样解答题,帮助学习者建立解答题的模式。实例如表3所示。

表3 含解题思路和解题步骤的实例

[[问题描述:设计一程序,将3位同学的成绩存放到数组中(利用inputbox函数与for-next循环)

解题思路:

1. 需存放3位同学成绩,那么数组的类型要如何定义呢?如果要是下标为1,那要怎么编写代码呢?

2. 要输入3位同学成绩,需重复3次输入函数,我们可以使用for-next循环来实现,起始值与终值要考虑下标。

解题步骤:

1. 我们应该先定义数组。

程序代码:option Base 1 ’数组下标从1开始

Dim sa(3) as integer

2. 要让使用者利用inputbox函数输入成绩,输入第1位的成绩到

sa(1),sa(1)=inputbox(请输入成绩)

3. 要让使用者利用inputbox函数输入成绩,输入第2位的成绩到

sa(2),sa(2)=inputbox(请输入成绩)

4. 要让使用者利用inputbox函数输入成绩,输入第3位的成绩到

sa(3),sa(3)=inputbox(请输入成绩)

5. 在步骤2至步骤4中,因语法重复,可以使用循环来控制

For i=1 to 3

sa(i)=inputbox(请输入成绩)

Next i

参考解法:

option Base 1

Dim sa(3) as integer

For i=1 to 3

sa(i)=inputbox(请输入成绩)

Next i

\&]]

⑵ 只有解题步骤的实例

在表3中把解题思路删除,让学习者根据解题步骤了解程序代码的编写。

⑶ 程序设计专题任务

本研究为了了解学生解答题的效果。设有一专题任务,任务目标为编写双色球简单选号系统。界面如图1所示。专题任务计划如表4所示。

图1 双色球选号界面

表4 专题任务计划

[[专题子任务一\&设计界面\&专题子任务二\&判断数值不能重复\&专题子任务三\&将数值从小到大排列\&]]

任务与教学目标如表5所示。

表5 任务与教学目标

[[专题任务目标\&教学目标\&电脑选号:利用电脑自动产生6个数,并显示在界面上。利用循环和随机函数产生的数必须存放在数组中\&能利用循环产生随机数并存放在数组中

应用Randomize、Rnd二函数设计随机产生1-33之间的数值

数组的输出\&判断数值不能重复\&能利用if-then来判断产生的数是否相同\&将数组中的值从小到大排列\&应用冒泡法对一维数组进行排序\&]]

⑷ 测试题分布情况

语法知识为填空题6道,5道程序调试补充题,解答题1道。

2 实验数据分析与讨论

2.1 学习效果的分析

实验完成后对学生进行一维数组单元的测试。各实验组在一维数组学习效果的平均数、标准差及人数如表6所示。

表6 各实验组在一维数组学习效果的平均数、标准差及人数

[[教学策略\&VB基础好差\&人数\&Mean\&Std.Deviation\&含解题思路和

步骤的实例\&VB基础好\&15\&20.33\&2.876\&VB基础差\&27\&18.21\&3.27 \&只含解题步骤

的实例\&VB基础好\&18\&17.63\&3.552\&VB基础差\&25\&13.56\&4.021\&总和\&VB基础好\&33\&18.86\&3.245\&VB基础差\&52\&15.97\&3.631\&]]

由表6看出,在基础好坏方面,VB基础好的组的平均数高于VB基础差的;在教学策略上,含解题思路和解题步骤的实例的组的平均数高于只含解题步骤的实例的组。说明在教学策略上含解题思路和解题步骤的实例比只含解题步骤的实例好。

在学习效果变异数分析前,先以Levene法进行变异数同质性检验,结果显示,各组并无显著差异(F(3,66)=1.151,p=.335),故符合变异数同质性假设。一维数组学习效果经变异数分析结果如表7所示。

表7 数组学习效果经变异数分析结果

[[变异来源\&SS\&Df\&MS\&F\&Sig.\&教学策略\&220.011\&1\&220.011\&18.453\&.000*\&VB基础好\&161.574\&1\&161.574\&13.552\&.000*\&教学策略×

VB基础好\&15.764\&1\&15.764\&1.322\&.254 \&误差\&786.914\&66\&11.923\&\&\&]][*p

从表7看出,教学策略对一维数组学习效果有显著影响。

2.2 解答题的知识学习效果分析

解答题1道,分数为20分。各实验组在一维数组解答题学习效果的平均数、标准差及人数如表8所示。

表8 各实验组在一维数组解答题学习效果的平均数、标准差及人数

[[教学策略\&VB基础好差\&人数\&Mean\&Std.Deviation\&含解题思路和解

题步骤的实例\&VB基础好\&15\&8.10\&1.868\&VB基础差\&27\&6.94\&1.569\&只含解题步骤的

实例\&VB基础好\&18\&6.58\&1.676\&VB基础差\&25\&5.10\&2.234\&总和\&VB基础好\&33\&7.27\&1.763\&VB基础差\&52\&6.06\&1.889\&]]

在学习效果变异数分析前,先以Levene法进行变异数同质性检验,结果显示各组并无显著差异(F(3,66)=1.085,p=.362),故符合变异数同质性假设。经变异数分析结果如表9所示。

表9 解答题的解题效果的变异数分析

[[变异来源\&SS\&Df\&MS\&F\&Sig.\&教学策略\&46.668\&1\&46.668\&12.970\&.001*\&VB基础好\&29.039\&1\&29.039\&8.071\&.006*\&教学策略×

VB基础好\&.453\&1\&.453\&.126\&.724 \&误差\&237.473\&66\&3.598\&\&\&]][*p

从表8可以看出,含解题思路和解题步骤实例的实验组的学习者解题能力好于只含解题步骤实例的实验组的学习者,基础好的实验组解题能力要好于基础差的实验组。从表9可以看出,教学策略对解题能力有显著影响。

2.3 解题效果分析

解题效果用以评价学习者在程序设计专题任务的解题能力。本研究的专题任务分为三个阶段性子任务。

2.3.1 程序设计专题任务的解题总效果分析

各实验组在程序设计专题任务的解题总效果的平均数、标准差及人数如表10所示。在程序设计专题任务的解题总效果的变异数分析前,先以Levene法进行变异数同质性检验,结果显示,各组并无显著差异(F(3,66)=1.220,p=.309),故符合变异数同质性假设。经变异数分析结果如表11所示。

表10 程序设计专题任务的解题总效果

的平均数、标准差及人数

[[教学策略\&VB基础好差\&人数\&Mean\&Std.Deviation\&含解题思路和

步骤的实例\&VB基础好\&15\&48.12\&8.955\&VB基础差\&27\&40.81\&8.475\&只含解题步骤

的实例\&VB基础好\&18\&46.13\&7.874\&VB基础差\&25\&39.14\&10.117\&总和\&VB基础好\&33\&47.03\&8.365\&VB基础差\&52\&63.04\&14.598\&]]

表11 程序设计专题任务的解题总效果的变异数分析

[[变异来源\&SS\&Df\&MS\&F\&Sig.\&教学策略\&55.679\&1\&55.679\&.679\&.413 \&VB基础好\&846.914\&1\&846.914\&10.331\&.002*\&教学策略×

VB基础好\&.437\&1\&.437\&.005\&.942 \&误差\&5410.524\&66\&81.978\&\&\&]][*p

从表10看出,基础好且在专题任务的解题效果上好,含解题思路和解题步骤的实例的实验组也好。从表11看出在教学策略方面,结果没有显著差异,表示教学策略对于专题任务的解题效果没有显著的影响。在基础好的实验组,结果则有显著差异,表示基础好的实验组对专题任务的解题效果具有显著影响。

2.3.2 专题阶段任务的解题效果分析

在进行专题阶段任务的解题效果经变异数分析前,先以Box’s M多变量变异数同质性检验,结果显示,各组并无显著差异。故符合变异数同质性假设。专题阶段任务解题效果的变异数分析结果如表12所示。

表12 专题阶段任务解题效果的变异数分析结果

[[变异来源\&SS\&Df\&MS\&F\&Sig.\&教学

策略\&专题子任务一\&139.859\&1\&139.859\&10.832\&.002*\&专题子任务二\&18.837\&1\&18.837\&.942\&.335 \&专题子任务三\&75.768\&1\&75.768\&2.470\&.121 \&VB

基础好\&专题子任务一\&58.797\&1\&58.797\&4.554\&.037*\&专题子任务二\&116.417\&1\&116.417\&5.824\&.019*\&专题子任务三\&113.299\&1\&113.299\&3.694\&.059 \&教学策

略×VB

基础好\&专题子任务一\&27.238\&1\&27.238\&2.110\&.151 \&专题子任务二\&63.634\&1\&63.634\&3.182\&.079 \&专题子任务三\&11.688\&1\&11.688\&.381\&.539 \&误差\&专题子任务一\&852.143\&66\&12.911\&\&\&专题子任务二\&1319.393\&66\&19.991\&\&\&专题子任务三\&2024.440\&66\&30.672\&\&\&]][*p

在教学策略方面,专题子任务一有显著差异,而专题子任务二及专题子任务三没有显著差异,表示教学策略对于子任务一的解题效果有显著的影响,对于专题子任务二、三的解题效果则没有显著影响。对于基础好的学生,专题子任务一及子任务二有显著差异。因基础好的实验组的学生有较好的程序设计相关基础知识,所以解题效果要好于基础差的。

2.3.3 程序设计解题效果总结

程序设计解题效果如表13所示。

表13 程序设计解题效果

[[程序设计问题

解决效果\&教学策略

与基础\&交互

作用\&结果\&专题子任务一\&教学策略

VB基础\&未显著\&含解题思路和步骤的组>只含解题步骤的实例

基础好的组>基础差的组\&专题子任务二\&教学策略

VB基础\&未显著\&含解题思路和步骤的组=只含解题步骤的实例

基础好的组>基础差的组\&专题子任务三\&教学策略

VB基础\&未显著\&含解题思路和步骤的组=只含解题步骤的实例

基础好的组>基础差的组\&程序设计专题

总效果\&教学策略

VB基础\&未显著\&含解题思路和步骤的组=只含解题步骤的实例

基础好的组>基础差的组\&]]

3 结束语

本研究获得以下结论:①实例教学有助于学习者对VB程序语言的理解;②含解题思路和步骤的实例有助于提高学习者的学习效果及解题效果;③专题式的教学活动更有助于基础好的学习者解答题。

根据以上结论我们建议:①增加VB程序设计教材的实例;②训练学习者先考虑解题思路和解题步骤,以提高VB程序设计专题问题的解决效果。先了解问题,再设计解决方案,最后执行解决方案;③增加VB程序设计专题教学活动,让学习者有充分的时间来强化对问题的思考以提高解题的效果;④教师在VB程序教学中应以解答题为出发点来组织教学。

参考文献:

[1] 梁新,张怀强.任职教育中案例教学方式的应用研究[J].海军院校任

职教育研究优秀论文集,2006.

[2] 孙万东.案例教学模式的课堂管理策略[M].黑龙江高教出版社,

2007.

[3] 王涛.VB教学中案例的选取及应用举例[J].长沙通信职业技术学院

学报,2008.7(4):78~81

[4] 蔡守龙.走向教育案例研究――兼论新一轮课程改革实验区的教育

科研[J].重庆教育,2003.7:4~7

vb学生成绩管理系统范文4

关键词:项目教学;教学设计;VB程序设计

中图分类号:TP311 文献标识码:B DoI: 10.3969/j.issn.1003-6970.2012.06.052

当前,《VB程序设计》课程作为大部分高职院校计算机专业的一门专业基础课,开设此课的目的是通过该课程的学习,使学生掌握面向对象的编程方法,培养他们分析和解决问题的能力。但普通存在的问题是,该课程的教学模式还是主要以“教师通过多媒体讲授和演示,学生上机操作”为主。通过这种教学模式培养出来的学生虽然学会了全部知识内容,但在进行具体程序设计时还是无从下手。当今社会需要的是高素质的技能型人才,这就要求教师必须尽快改革传统教学方法,采用更加科学的教学方法,以适应社会对人才的需求。

1 传统教学中存在的问题

学习《VB程序设计》和学习其它编程语言一亲,枯燥复杂的内容、程序错误的百出是学生所必须面对的。由于高职院校的学生本身的知识接受能力和学习动力相对较弱,在传统教学模式下,该程序授课效果不是很理想。其主要原因是在传统教学模式中,理论教学与实验教学是区别对待的,后者通过用来“辅助”前者,学生通过实验教学环节来“验证”理论教学的内容。其次,传统的《VB程序设计》授课教师在组织教学时,往往按照教材编排的顺序,先介绍单纯的理论知识,再讲解具体的使用。过多的理论介绍,既增加了学生的学习负担,又不能突出教学重点,还会降低学生的学习积极性。同时,传统教学的编程练习与现实没有太多关联,没有吸引力,而且练习之间没有关联,造成学生学习兴趣低下。另外,学生学习VB程序设计只是停留在知识点学习以及例题的练习,没有实际工程项目开发的历练和体验,无法直接感受所学知识在实际工作中的作用和地位,影响了学习效果。

2 项目教学法

将项目学习引进教学并不是新的想法,已经发展成为一种教学策略了。当学生有机会去挖掘更复杂的、有挑战性的和与现实生活类似的问题时,他们对学习会变得更加投入。基于项目的学习不仅使学生产生学习兴趣,设计良好的学习项目还能鼓励学生积极的调查和更多的思考。当学生投入到有意义的解决实际问题的活动中时,在帮助学生理解技能是怎样一步步演变成为成果的过程,学生将获得更强的理解能力。

项目教学法,是师生通过共同实施一个完整的项目工作而进行的教学活动。“项目”是指以生产一件具体的具有一定实际应用价值的产品为目的任务,它应该满足该工作过程用于学习一定的教学内容,具有一定的应用价值,能将某一课题的理论知识与实际技能结合起来[1],学习者有独立制定计划并实施的机会,在一定时间内,可以自行安排自己的学习行为,有明确而具体的成果展示,一般流程为信息收集—方案设计—项目实施—成果展示—最终评价,同时以小组形式开展合作学习和自主学习。

在项目教学法中,活动根据需要可以分小组进行,也可让学生独立工作,或由全班参加。一般来说项目活动不能独立完成所有的教学任务,它只是教学中一个不可缺少的部分。

3 项目教学设计

VB课程教学内容主要是使用VB开发环境来开发与数据库相关的应用程序。具体包括:窗体界面的设计,常用控件的属性、事件及方法,对话框的设计,菜单栏、工具栏及状态栏的设计,多文档界面的设计,文件的操作,数据库的操作等。学习该课程应该达到以下两个主要教学目标:

一是知识目标:要求学生掌握VB集成开发环境下程序设计的基本概念及编程模式,面向对象的基本编程思想以及软件开发的基本步骤。

二是技能目标:要求学生具备使用VB进行程序设计的能力,并能够使用VB开发应用程序。同时,能够适应社会的需求,使用VB完成企业项目的开发。

在项目教学模式中,教学项目的选择是整个教学的关键,是否选择合适的项目直接影响到教学的效果。因此在项目选择这一环节中,教师应该紧扣教学内容,根据学生的特点,联系实际,确定可行的具有实际意义的项目。教学项目既要涵盖基本的教学知识点,能服务于教学,体现教学目标,又能激发学生的学习兴趣,达到预定的教学效果。[2]

为了实现上述课程教学目标,让学生掌握必备的VB编程知识,具备应用VB开发程序的能力,我把学生将来工作过程中需要的基本知识和技能,分解到具体的项目模块开发中,设计了VB课程的基础项目模块和综合项目模块。

基础项目模块包括:制作折扣计算机器、制作阴影文字、制作简易计算器、制作摇奖机、设计用户登录系统、设计排序法演示系统、制作简单记事本、制作调色板、制作简单时钟、设计文件管理器、绘制数学函数等。这些项目模块功能相对简单,但是包涵了基本的教学知识点,而且都是学生在日常生活或学习中常见的内容,这样能够激发学生的学习兴趣,最终让学生牢固掌握在VB集成开发环境下编程的基本方法,为以后的学习打下坚实的基础。

综合模块包括:电话查询系统、成绩管理系统、档案管理系统、工资管理系统、图书管理系统、超市管理系统。这些项目模块具有一定的实用性,项目实现的功能也较多,功能要求比较完善,需要学生花费用的时间和精力也较多,这就需要在课程实训期间完成。通过这些项目的开发,可以让学生综合运用所学的专业知识,使学生能够在校就经历软件开发过程的锻炼,提前进入工作过程,从而减少毕业后适应工作的时间。同时,也让学生具备了实际应用能力、工作能力及团队精神及创新意识。

4 项目教学法的实施过程

4.1 情景设置

创设学生当前所学习的内容与现实情况基本相接近的情景环境,即把学生引入到需要通过某知识点来解决现实问题的情景[3]。通过实际例子,吸引学生的注意力,培养学生的兴趣。

例如,在讲计时器控件时,我先打开事先准备好的事例:闪烁的满天星、图片浏览器给学生进行展示,并告诉学生我们今天利用这个计时器控件很容易实现这种动态的效果。学生听了非常感兴趣,上课的效率明显提高了。

情景设计非常重要,它是实行项目教学的第一步,情景必须是学生平时能够见到或用到的,对学生来说,以前的感觉是有些难度的,经过老师的讲解也不是高深莫测的,这样才能产生动力,又不使学生望而止步。

4.2 教师操作示范

教师对预期的项目模块进行分析,分解为必需的知识点,并选择合适的案例进行讲解与示范。案例的选择要从易到难,并结合情景设计中的例子进行讨论,从而完成知识要点的讲解和学生的“知识迁移”。案例示范,不能只是老师讲,学生听或记,要把学生拉进来,让学生和老师一起来完成案例设计。

譬如,我讲到用Circle方法来绘制各种图形的时候,首先设计一个绘制不同大小、不同颜色、不同填充样式及颜色的圆,然后引导学生思考如何绘制圆弧、扇形、椭圆等,接着让学生讨论怎样来绘制一个太极八卦图。经验得到了快速的增长,并且培养了大家的团队精神。最后,留些复杂的问题给学生,让学生自己查阅资料来解决,从而培养学生自主学习的能力。

4.3 学生实践

让学生独立思考,对知识进行理解,消化示范案例的解决要点;学生以小组为单位,项目经理组织讨论并根据不同的情况对小组人员进行分工,如果是一个小的阶段项目,每个小组成员都要完成所有内容,完成后选出最好的作品上交。如果是一个大的项目,要对小组成员进行合理分工。一般来说,,分组在老师的指导下进行,每组4-5名学生,样可以防止成绩好的同学分到一组,成绩差的分同学到一组,造成部分小组难完成项目。

该阶段可以锻炼学生分析问题解决问题的能力,虽然老师已给出了解决方案,讲解了知识点,但学生还面临很多细节要解决,他们得到了开发新的解决方案的权利,只要是能完成项目,使用何种方法取决于学生。他们可以在互相协作的同时巩固新知识,由于是在做中学到的,记忆十分深刻。在这个过程中,老师的任务是设计难易适当的项目,全程进行辅导。[4]

4.4 指导设计,跟踪监督

在学生进行项目设计的过程中,教师要加强指导和监督。在实际教学中,对于小项目一般当场解决学生实践过程遇到的问题。对于大的项目我要求每组组长每两天向我汇报一次项目的进展情况,解答他们在设计中的问题。同时示范案例的源代码和设计方案,对学生起到指导和参考作用。

教师及时对完成的一个个阶段性小项目进行总结与回顾,对学生的表现进行当堂认可,并对主要问题进行集中解决。这样有利于学生对新知识的理解和消化。同时也是下一阶段项目完成的前提条件。教师要及时指出项目开发中存在的问题,给出解决的办法,总结经验,引导项目团队提高和改进设计。

4.5 学习评价

项目教学的评价注重学生在项目活动中能力发展的过程,测评内容包括学生参与活动各环节的表现以及作业质量。学生学习的效果直接由完成工程项目的情况来衡量,包括教师评价、学习小组和自评三部分。学生首先对自己在项目开发中的表现进行自我评价,然后由本项目组成员给出评价,之后其他项目组给出评价,最后由老师对项目进行评价和评讲。

5 结 语

项目教学法被应用到程序设计类课程的教学中,使教学与生产结合起来,学以致用,注重培养学生动手操作能力,学生普通反映采用了项目教学法的教学模式后开发能力提升很快,专业知识得以巩固,相关知识点的运用印象特别深刻,在比较真实的工作环境下,既学到了知识,又学会了分析问题、解决问题的方法。教学实践证明,在项目教学模式下,整个教学过程学生都要参与进来,是学生变成获取知识的主体,可以大大提高学生的主动性,完成了教师从“主体”到“主导”角色的转变,总之,项目教学法在《VB程序设计》中的使用是一种值得学习和推广的方法。

参考文献

[1] 陈素芬等.项目教学法在《VB程序设计》中的应用[J].江西教育学院学报(综合),2008(12).

[2] 高玉双.项目教学法在程序设计课程中的应用[J].信息技术与信息化,2011(1).

vb学生成绩管理系统范文5

【关键词】项目实训;Visual Basic;SQL Server;管理系统

1、问题的提出

随着计算机在各行各业的普及和应用,人们的日常办公学习都与管理系统密不可分。作为计算机软件专业的学生,能够掌握如何使用前台应用程序与后台数据库相结合的方法设计和实现管理系统软件已是必备的技能。本文以VB为前台设计界面软件,以SQL Server为后台数据库设计软件,在介绍VB与SQL Server各自特性的同时,更着重讲述VB与SQL Server如何连接使用的实用方法。使用VB制作前台的管理系统比较易于掌握,可视化性能较强,并能生成.exe(可执行文件)或打包成安装软件,便于携带和演示,较适合高职院校学生学习和掌握,成就感较强。

2、管理系统的工作模式

实训所涉及的管理系统采用C/S(客户端/服务器端)体系结构,Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。

C/S 结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。学生管理系统的基本结构如图1所示:

3、系统功能和数据库设计

系统从管理和使用角度来讲,由两大部份组成:学生使用界面部分和管理员管理界面部分。系统前台界面由VB独立创建完成,后台数据库有SQL Server独立创建完成。应用时用户可使用开发者提供的.exe文件执行程序,或使用开发者提供的打包安装文件安装完毕后执行程序。

实现系统的主要功能模块如下:

(1)登录模块:通过输入用户名和密码以及选择登录权限进入功能界面。

(2)学生管理:在显示学生信息的基础上,系统为用户提供了查询、修改、添加、删除学生信息的相关操作。该模块功能的适用对象为管理员。

(3)课程管理:在显示课程信息的基础上,系统为用户提供了查询、修改、添加、删除课程信息的相关操作。该模块功能的适用对象为管理员。

(4)学生查询:管理员权限下,在窗体上显示所有学生信息,并能够提供根据学号查询相关学生信息的操作。学生权限下,仅提供学生使用自己学号和密码登陆的学生信息。

(5)课程查询:管理员权限下,在窗体上显示所有课程信息,并能够提供根据课程号查询相关学生信息的操作。学生权限下,仅提供学生使用自己学号和密码登陆的课程信息。

学生管理系统主要功能为登陆及查询,这些功能的实现与数据库及T-SQL语言密不可分。在实现系统功能代码之前,务必设计和实现好系统所需要的数据库、数据表、约束、索引、视图、存储过程、函数及触发器。以下为学生管理系统后台“学生管理数据库”的数据表设计:

(1)学生信息表:学号(nvarchar(6),not null,PK),姓名(nvarchar(6),not null),班级(nvarchar(10),null),e-mail(nvarchar(20),null),密码(char(6),not null)。

(2)课程信息表:课程编号(nvarchar(4),not null PK),课程名称(nvarchar(10),not null)。

(3)选课信息表:学号(nvarchar(6),not null,PK/FK),课程编号(nvarchar(4),not null PK/FK),成绩(decimal(5,1),null)。

(4)管理员表:账户名(nvarchar(8),not null,PK),密码(char(6),not null)。

4、系统功能实现

根据系统设计思路将系统前台界面及后台数据库设计和创建好之后,系统功能的实现需要在VB中通过设置控件属性,编写按钮、菜单及控件代码来实现。以下以登录模块为例,阐述登录界面的前台设计及登录按钮访问后台数据库实现的登录功能。

(1)登录界面控件及属性设置如图2:

(2) 登录界面中代码实现如下:

Private SqlCon As New ADODB.Connection

Private SqlRes As New ADODB.Recordset

Private SqlCmd As New mand

Public loginname As String '定义Public变量loginname,在窗体间传值

----------------------------------------------------------------------------------------------------------------------

Private Sub exit_button_Click()

End

vb学生成绩管理系统范文6

关键词:Visual Basic;典型错误;实例剖析

中图分类号:TP312

《Visual Basic程序设计》(下文简称VB)是许多高校为非计算机专业学生开设的第一门程序设计语言课程。由于VB课程本身理论性和实践性都比较强,加之学生初次接触程序设计语言,缺乏相应的知识背景,在编程时难免会产生各种各样的错误。面对出错的程序,学生找不出错误原因,不知如何处理,这极易使学生对VB编程产生畏难情绪,从而不利于课程的进一步学习。基于此,本文针对笔者在VB教学实践中收集到的学生编程时出现的若干典型错误以具体实例的方式进行了剖析,以期帮助他们了解这些程序错误产生的原因,从而加深他们对相关VB编程知识的理解。

1 VB编程典型错误

1.1 误用“+”运算符

“+”运算符在VB中既可以用来计算和,也可以用来连接字符串。“+”作为字符串连接符来使用,只有一种情况,就是“+”旁边的两个操作数的数据类型都是字符串型时,“+”旁边的操作数只要有一个的数据类型是数值型,“+”就用来求和。学生初学VB时,容易受数学思维的影响,因而经常出现误用“+”运算符的情况。

例如,要求编写程序“从键盘分别输入一个学生三门课的成绩,求他的总成绩”。有学生是这么做的,先在窗体上绘制三个文本框,分别用来输入三门课的成绩,再绘制一个命令按钮,然后编写如下程序:

Private Sub Command1_Click()

Dim mark As Single

mark = Text1.Text + Text2.Text + Text3.Text

Print "该学生的总成绩为:"; mark

End Sub

对于上面的程序,运行时要么出现“溢出”错误,要么得不到正确的结果,主要原因就是“+”运算符的使用有错误。学生误认为“+”在这里是求和,实际上“+”在这里是做字符串的连接,因为文本框的Text属性的数据类型是字符串型。因此使用“+”运算符时一定要特别注意,如果指定“+”要用来求和,一定要确保“+”旁边的两个操作数的数据类型都是数值型(如果不是数值型,应通过VB的相应类型转换函数将其转换为数值型,例如上面的程序就应使用Val函数来完成转换);如果指定要做的是字符串连接,最好不要使用“+”,直接使用“&”运算符。

1.2 潜在的类型不匹配错误

对于赋值语句,赋值号“=”两边的数据类型一般要求应一致,如果两边的类型不同,VB的处理方法是:以左边变量的数据类型为基准,如果右边表达式计算结果的数据类型能够转换成左边变量的数据类型,则先由VB自动完成数据类型转换后,再赋值给左边的变量;如果不能转换,就会出现类型不匹配的错误。学生初学VB时,在程序中很少有意识地去关注赋值号“=”两边的数据类型是否一致,这使得程序可能隐含着潜在的错误,导致程序可靠性不高。

例如,要求编写程序“从键盘输入华氏温度,将其转换为对应的摄氏温度”,学生一般编程如下:

Private Sub Command1_Click()

Dim f As Single, c As Single

f = InputBox("请输入华氏温度")

c = 5 * (f - 32) / 9

Print "c="; c

End Sub

对于上面的程序,在赋值语句“f = InputBox("请输入华氏温度")”中,“=”两边的数据类型是不一致的,变量f是数值型,而InputBox函数返回值的数据类型是字符串型。学生测试程序时,如果只是输入了数值(InputBox函数返回的实际上是数值型字符串),由于VB会自动完成数据类型转换,程序可以得到正确的结果,类型不匹配的潜在错误不会暴露出来;但是如果不慎输入的是一个非数值型的字符串,VB不能自动转换,这种错误就会显现,影响程序的正常运行。为了避免这种错误的出现,最好由编程者自己通过程序转换的方式使赋值号“=”两边的数据类型保持一致,一味寄希望于由VB自动进行数据类型转换是存在一定风险的。

同样地,对于关系运算符,两边操作数的数据类型最好也应保持一致。如果不一致,在某些情况下VB通过自动类型转换可以将它们转换为同一数据类型后再比较(比如字符串和数值比较,将字符串转换为数值再比较;逻辑型数据和数值比较,将True和False分别转换为-1、0后再比较),遇上不能转换的情况,也会产生类型不匹配的错误,例如,执行语句Print 77>"teat"就会产生这类错误。

1.3 对多分支语句执行流程理解不透引发错误

VB中用来实现多分支结构的语句有If(采用If…Then…ElseIf…结构)语句和Select Case语句。这两个语句的执行流程具有两个特点:(1)不管有多少个分支,只执行其中的一个分支,执行这个分支后不再执行其他的分支,直接执行End If或End Select后面的语句;(2)只有前面的分支条件不成立时,才会去判断后面的分支条件。学生初学VB时,由于对这个执行流程特点的理解还不够透彻,在阅读和编写多分支结构程序时经常犯错误。

例如,给出下面的程序阅读题:程序运行后,如果在文本框Text1中输入10,然后单击命令按钮,写出在Text2中显示的内容。

Private Sub Command1_Click()

n = Val(Text1.Text)

Select Case n

Case 1 To 20: x = 10

Case 2, 4, 6: x = 20

Case Is < 10: x = 30

Case 10: x = 40

End Select

Text2.Text = x

End Sub

对于上面的程序阅读题,有相当一部分学生认为Text2中显示的内容应是40,他们给出的理由是:程序中第1个和第4个Case后面的“测试值”都与Select Case后面n值相匹配,第4个Case分支给变量x赋的值会取代第1个Case分支给变量x赋的值。学生这样理解显然是对Select Case语句的执行流程特点认识不清所致。因为根据执行流程特点(1),第1个Case后面的“测试值”匹配了,就会执行该Case分支相关联的语句,不会再去判断其他的分支,直接执行End Select后面的语句;根据执行流程特点(2)如果要判断第4个Case分支,前面的3个Case分支必须都是不匹配的。

再如,要求编写程序将学生的百分制成绩按要求转换成相应的等级(90~100转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,60分以下转换为不及格),有学生编程如下:

Private Sub Command1_Click()

Dim Cj As Single, Dj As String

Cj = Val(Text1.Text)

Select Case Cj

Case Is >= 60: Dj = "及格"

Case Is >= 70: Dj = "中等"

Case Is >= 80: Dj = "良好"

Case Is >= 90: Dj = "优秀"

Case Else: Dj = "不及格"

End Select

Label1.Caption = Dj

End Sub

上面的程序,虽然可以正常运行,但存在着逻辑错误。根据Select Case语句执行流程特点(1),当输入98、88、78这些分数时,输出结果都是及格。如果学生完全理解了VB多分支结构语句的执行流程,编完程序后按执行流程检验一下,是完全可以避免这类错误的。

1.4 错写Select Case语句中Case后面“测试值”的形式

Select Case语句中Case后面的“测试值”有三种不同的形式:(1)表达式1[,表达式2]…;(2)表达式1To表达式2;(3)Is 。第1种形式看上去是一个表达式列表,实际上是一个离散值的列表,因为是表达式列表中表达式的值与Select Case后面“测试表达式”的值进行比较,只要Select Case后面“测试表达式”的值与表达式列表中的任何一个表达式的值相同,就认为是匹配的;第2种和第3种形式实际上都是区间的表示形式,代表的是一系列连续的值,比如Case 9 To 12表示的是区间[9,12],Case Is >= 9表示的是区间[9,+∞],Case Is

例如,要求编写程序将学生的百分制成绩按要求转换成相应的等级,有学生编写出如下程序:

Private Sub Command1_Click()

Dim Cj As Single, Dj As String

Cj = Val(Text1.Text)

Select Case Cj

Case Cj >= 90: Dj = "优秀"

Case Cj >= 80: Dj = "良好"

Case Cj >= 70: Dj = "中等"

Case Cj >= 60: Dj = "及格"

Case Else: Dj = "不及格"

End Select

Label1.Caption = Dj

End Sub

对于上面的程序,输入98、88、78、68这些分数时,输出结果都是不及格,程序出现逻辑错误。在程序的各个Case分支中,本应采用Is关键字表示区间的Is被替换成变量名Cj,这一替换使得Case后面的内容不再是表示区间,而成为一个关系表达式,对应的就是Case后面的“测试值”的第1种表示形式。Case后面跟的是一个关系表达式,关系表达式的计算结果要么是True,要么是False,与Select Case后面变量Cj的值是不可能相等的,因此Case Else前面的分支都不匹配,从而执行Case Else分支关联的语句,输出不及格。

1.5 使用循环结构遍历查找数据时产生错误

使用循环结构查找某个数据在一个数据集中是否存在,是常见的编程问题。这类问题的解决思路是将这个数据和数据集中的每个数据分别进行比较,如果发现相同的,就表示找到;如果没有发现一个相同的,就表示没有找到。学生初学VB时,解决这类问题也经常出现错误。

例如,要求编写程序,用来实现下面的功能:当用户在组合框中输入一个新的项目后,单击命令按钮时,如果输入的项在组合框的列表中不存在,则自动添加到组合框的列表中[1]。有学生编程如下:

Private Sub Command1_Click()

Dim i As Integer

For i = 0 To Combo1.ListCount - 1

If Trim(Combo1.Text) = Combo1.List(i) Then

MsgBox "输入项已在组合框中"

Else

Combo1.AddItem Trim(Combo1.Text)

MsgBox "已成功添加输入项"

End If

Next i

End Sub

对于上面的程序,假定组合框列表中原来有“北京、上海、天津、武汉”这4个选项,再输入1个新项目“广州”,单击命令按钮后,“广州”就会在组合框的列表中被添加4次,显然程序有错误,错误的原因是在循环结构中一旦发现新项目与组合框列表中某一个项目不同时就马上去添加,这显然是不合理的。新项目“广州”是否添加到组合框的列表中,判断依据应是将新项目与组合框列表中的项目逐一比较完之后,都没发现相同的,才可以添加;当然在循环的过程中如果发现相同的,这时立刻就可以得出不添加的结论,新项目就没有必要再和组合框列表中剩下的还没有比较的项目去比较了,循环就可以提前终止了。据此上面的程序可以修改如下:

Private Sub Command1_Click()

Dim i As Integer

For i = 0 To Combo1.ListCount - 1

If Trim(Combo1.Text) = Combo1.List(i) Then

MsgBox "输入项已在组合框中"

Exit For

End If

Next i

If i > Combo1.ListCount - 1 Then

Combo1.AddItem Trim(Combo1.Text)

MsgBox "已成功添加输入项"

End If

End Sub

2 结束语

以上总结的是学生初学VB编程时常见的一些典型错误,文中的错误程序示例不但可以供VB初学者借鉴,以避免此类错误再在编程中出现,而且也可供VB教师作为教学素材使用,为他们改进课程教学提供一定的参考依据。

参考文献: