vb程序篇1
一、对教材中的“歌手大奖赛评分”程序进行拓展引伸,设计出比较智能多用途的程序
1.程序界面设计。新建一个标准exe工程,添加如表1所示的控件,并设置控件相应的属性。(见附***1)
表1 “时钟的时针和分针重合的问题”程序用到的控件及其属性说明
2.算法分析。① 请输入这次大奖赛的满分分数(如10分或100分等等)以及评委的人数,赋值给系统的公共变量public_min和public_i,这里要求事先定义好这两个系统的公共变量。
系统公共变量的定义方法:单击“工程”菜单,选择“添加模块”命令,在“Module1”框中输入Public public_min As Single, public_i As Single即可。
② 输入各评委的评分并计算。如果输入的数值超过事先输入的满分的值,系统则提示:“出错啦,分数超出范围。”在这里,用到了For …Next循环语句和输入函数InputBox(提示信息,标题,默认值,位置)和输出函数MsgBox“”。
③ 输出:去掉一个最高分和一个最低分后其余分数的平均分。
3.编写事件过程。在“大奖赛评分系统”程序中,用户单击“请先输入满分和评委人数”按钮后,开始读入满分分数和评委人数。
二、下面针对教材的第103页和第107页的“创新活动”中的问题,给出比较详细的程序编写过程
(一)教材第103页“创新活动”的问题。在12小时制的时间中,在钟表正常走动的时候,有多少个时针和分针重合的位置?它们分别表示什么时刻(精确到秒即可)?
请编写一个界面如附***2所示的“时钟的时针和分针重合的问题”程序,单击“开始计算”按钮,程序计算并显示出答案,单击“退出”按钮,结束程序运行。
1.程序界面设计。新建一个标准exe工程,添加如表2所示的控件,并设置控件相应的属性。
表2 “时钟的时针和分针重合的问题”程序用到的控件及其属性说明
2.编写事件过程。由于在“时钟的时针和分针重合的问题”程序中,用户单击“开始”按钮后,就在List框中显示出时针和分针重合的位置时刻,因此我们在“开始”按钮处编写Click事件过程。
对于“结束”按钮,我们只要在它的Click事件过程中写下一个语句“end”即可。
对于“哪些时刻时针与分针成平角或直角”等问题,做法类似,这里就不再赘述。
(二)教材第107页“创新活动”的第一个问题。编写一个猜数游戏程序,程序界面如附***3所示。单击“开始”按钮后,电脑随机产生一个1到100之间的整数,然后程序提示你猜一个数,如果你输入的数太大,则程序会提示你“太大了!”,如果你输入的数太小,程序会提示你“太小了!”,直到你猜中为止。最后程序还会报告你一共猜了几次。
1.程序界面设计。新建一个标准exe工程,添加如表3所示的控件,并设置控件相应的属性。
vb程序篇2
关键词:程序设计;代码编写;教学效果
中***分类号:G642 文献标识码:B
1引言
随着社会信息化高速进展,各行各业的信息化进程不断加速,计算机应用技术与其他专业的教学、科研工作的结合更加紧密,各学科与以计算机技术为核心的信息技术的融合,促进了计算机学科的发展,各专业对学生的计算机应用能力也有更高和更加具体的要求,选修计算机课程成为必然。
计算机程序设计语言Visual Basic(简称VB),是Windows环境下最亲切的程序设计语言,它不仅简单易学、操作方便,而且引入了面向对象的事件驱动机制和可视化的程序设计方法,效率高,功能强且使用简单,是目前广泛使用的计算机软件开发平台,因此成为目前许多高等院校学习面向对象程序设计语言的首选,是非计算机专业学生必修的重要基础课程之一,也是国家二级考试的基础课程。其目的是培养学生程序设计和简单的系统开发及应用能力。
由于计算机编程语言相对其它课程较为抽象难懂,编程思路不易被学生接受和掌握,又加上选修这门课的同学缺少计算机相关的基础知识,因此使得VB这门课的教学普遍存在着抽象、枯燥、学生难学、教师难教等诸多问题,严重影响着本课程的教学质量。为此,探讨如何解决上述问题,改进VB的教学现状,成为VB任课教师的共同课题。结合多年的VB教学实践经验,笔者认为VB教学的诸多难题,集中出现在以下几个重要的教学环节当中,如果任课教师能够把握时机,抓好这些教学环节,将能够有效地改进VB的教学效果,提高教学质量。
2做好VB课程的引入教学,充分调动学生学习VB的积极性
实践证明,学习VB,兴趣是最好的老师,模仿是入门的捷径。对于任何一项工作,只要有了兴趣,就有了一半的成功机会,学生学习VB更是这样。实际上丰富有趣的诸多VB实例编程对于本科阶段的学生来说,有着强大的吸引力。例如,教师可在引入课上向学生演示用VB所设计的系列程序,如关机程序,定时程序,放大镜程序,扫雷游戏程序,清空回收站程序等各个方面的Windows应用小程序,大的应用方面还可以向学生介绍,用VB可以设计网络传输程序,数据库应用程序等,这些实例只演示运行的效果,先不要展示编程的设计代码,目的在于让学生开阔视野,了解学习VB的应用前景,激发学习的兴趣。学生虽然缺少这方面的编程基础知识,但对于计算机的编程,充满着好奇与探索的欲望,众多的学生希望通过学习VB后能够在计算机编程方面一试身手,而且VB又是计算机等级考试科目之一,有很多的学生选择简单易学、功能强大的VB。所以在VB教学的引入课当中,教师要充分利用这些有利的因素,恰当地安排相关的教学内容,及时有效地调动学生的学习积极性,变“要我学”为“我要学”,并且避免后续的教学变成迫于考试的压力不得不学的不良状况。
3做好VB课程的入门教学,确保学生理解掌握VB的基本概念
学习VB入门难,这是VB教学中普遍存在的问题。学生缺乏课程的相关知识基础,是问题存在的一个方面的原因,更主要的原因在于,学生对于VB当中贯穿始终的几个基本概念,很难理解和运用,所以在VB课程的入门教学阶段,基本概念的教学尤为重要,要确保学生理解掌握VB的几个重要的基本概念,并且能够灵活地运用于实际。
针对概念的抽象难懂这一难点,教师要充分地结合实例来讲解,并针对以往在学生的实际编程应用中容易出现的概念性错误,在课堂教学中举例强调,避免重复发生,能够较好地帮助学生理解掌握概念。例如:
错误1:form_load()…print "欢迎使用VB"…endsub;
错误2:text1_gotfocus() …text1.setfocus…endsub;
错误3:label3="y=";
错误4:print y=sin(a)+sin(b);
从以上所列错误进行类型分析可知,属于学生对于事件、方法、属性等概念理解使用不当所造成,对于类似的问题,教学中只有通过耐心、细致地分清错误的原因,多举实例来强调有关事件、方法的使用等来避免。概念的混淆不清,直接影响到后续教学中的代码编写,而代码编写难下手,又是学生学习VB的一大难题,其原因也较多地在于概念的理解使用不当,实际编代码时不会灵活运用。
4做好VB中事件选取与代码添加部分的教学
VB实际编程时,对于事件的选取与代码的添加这一部分,是最为关键的,也是最为困难的,它既要求编程者有灵活的思维能力,又要求有充分的编程经验,当然最基本的还是要准确地把握VB中的基本概念与基本语句的使用。所以搞好这一环节的教学,前提是做好第二环节的教学,比如事件的选取,要求学生了解各种事件的触发时间与触发条件,否则,学生不可能准确地选取事件,例如前面所列错误1,说明学生对于窗体的加载事件发生的时间不够明确,使用print方法在窗体上输出,只能在窗体加载完成后才能实现,同样的,如果在load()事件中使用end语句,将会导致看不到程序运行效果,学生往往对此迷惑不解。另一种情况是选取事件时搞不清对象,造成事件不能触发,代码无效,学生则为之莫名其妙等。如此之类的错误,均属于对事件概念的理解把握不够,因此不能正确使用。
另外,在代码的添加部分,由于缺少编程经验,面对问题时,学生往往不知从何下手,头脑中一片空白,如果是一个模仿性的问题,学生则较容易接受。当然,学习VB,兴趣是最好的老师,模仿则是入门的捷径,依靠模仿,学生可以较快地掌握一些基本的编程经验和编程技巧,所以,模仿在入门阶段是非常必要的,但在遇到具体的一个实际问题时,模仿的习惯反而会制约学生的思维开拓,造成无路可寻的不良现象,这就要求教师在教学中教给学生一种有效的打开思路的方法,而不能完全靠模仿。针对这一问题,通过教学实践总结出的一个最简单有效的方法,就是编程公式的总结使用,对于诸多的编程问题,往往都离不开输入、计算、输出这三大块内容,这里称之为编程公式,依照它,教师就可以让学生在面对问题时,像填空那样,分别解决这三块内容,这样,代码的入手问题便轻松解决,之后,再根据实际问题选用三种基本结构及相应的语句来完成代码,就比较容易了,而基本语句的正确理解与使用在代码的编写中又非常重要。
5做好VB基本语句的使用部分的教学
VB基本语句不多,单独来讲,结合实例,学生不难理解与掌握,难点在于语句的结构在使用中灵活多变,学生感到不知如何选择。比如选择结构对应的条件选择语句,从单分支到双分支,再到多分支以及嵌套分支,语句各不相同,造成学生在使用中易于混淆不清,语句书写的格式往往出错。为此,教学中教师应结合实例,重点强调各语句的格式及执行过程的不同,强化对比各种结构,并通过多练达到让学生熟练掌握每种语句的格式及适用范围。
在语句的教学中,语句的执行流程是学生必须理解的内容。如顺序结构的赋值语句,由于忽略了其执行流程,往往造成输出部分先于计算部分出现这样的错误。而选择结构由于语句书写格式多样,最易造成其执行过程混乱不清,其结果往往导致程序多次调试不能通过,严重挫伤学生的学习积极性。至于循环结构,同样强调弄清楚其执行的流程,否则学生往往搞不清循环次数与循环结束的条件等,这些都最终造成学生以为语句看似简单,但却不能准确使用的后果。
6做好代码调试部分的教学
代码调试要求细致耐心,如果代码能够顺利通过,学生看到程序运行结果出现,会因成功而感到喜悦,从而兴趣倍增,更增加对编程的探索欲望。反之,如果不能顺利通过,又不能很快发现错误所在,反复调试却总不见运行结果,学生往往失去耐心,长此下去,将严重挫伤学生的学习积极性,有的甚至畏难而退,出现厌学情绪。因此,不可小看程序的调试部分。
首先应该向学生明确,代码不能一次性通过是正常现象,编程需要耐心对待;其次,养成认细心的习惯可有效减少错误的发生,如text与test、label与lable、date与data书写混淆,缺少endif语句、next语句等错误均属于不细心造成的;再者,严格按语句的书写格式及语言规范书写语句,可避免大多数的错误发生,如a=b=c, num%+text1,print y=sina+sinb等错误则属于学生对语言规范不够明确造成的。至于逻辑性错误,学生自己则很难发现,需要教师帮助解决。
总结经验,代码的调试部分,学生和教师都要求有足够的耐心和细心,而且,教师要善于总结学生中易于出现的类同错误,在课堂上及时纠正,或根据以往的教学经验在教学进度中及时提醒,进行预防,较有效减少重复性错误的发生。
7总结
以上五个基本而又重要的教学环节,各有偏重,又相互联系,相互影响,搞好这些环节的教学,就等于抓住了VB教学的重心;同时还要求教师和学生都要有足够的耐心和毅力,共同努力实现VB教学质量的提高。
参考文献:
vb程序篇3
1.VB课程的教学目标
程序设计是计算机相关专业必开设的课程,但现在使用编程语言有多种,如:c语言、Java语言、c#等。不同的院校选择不同的编程语言来作为学生程序设计的入门课程。就职业院校的学生来说,VB是程序开发者学习编程的最佳入门选择,它是一种基于对象的可视化的编程语言,具有很强的易用性。VB课程教学的总体目标:首先是让学生掌握程序编写的基础知识,如变量概念、数据类型、典型常用语句语法、函数、过程、对象事件属性等知识点,为以后学习Java语言、c#语言打下基础;另外是通过一些典型实用案例培养学生的编程思维逻辑方式、让学生了解和体验软件开发中解决问题的分析方法和程序编写过程,从而积累一些具有实用性的技能经验。为了实现这样的教学目标,在教学过程中采用合适的案例尤为重要。
2.教学案例的选择设计
兴趣是最好的老师,是学生学好这门课程的关键。然而在教学过程中经常听到学生说VB程序设计课程太抽象、逻辑性太强难理解、枯燥乏味不感兴趣,因此只有激发学生兴趣,才能保证教学目标的真正实现。教师在备课时设计选择什么样的教学案例很重要,一个好的教学案例一定能激发学生学习的积极性、主动性,会起到事半功倍的效果。下面笔者就教学经验提出如下设计思路及教学案例。
2.1从实用性出发,模仿学生熟悉软件的部分功能
随着计算机、手机、互联网的普及应用,学生每天都在使用不同的软件、上不同网站分享获取大量信息,他们对登陆窗口的操作非常熟悉,但对登陆窗口如何识别账号密码、如何显示提示信息不太了解。为了满足学生的好奇心理,在VB教学过程中,笔者设计了“登陆”窗案例(见***1-3),通过该案例让学生学会使用标签控件、按钮控件、文本框件、if语句、MsgBox函数、窗口的显示与隐藏方法。
2.2从贴近生活出发,实现学生的日常生活一些简单需求
在教学过程中最好选择设计一些与学生的日常有相关联系的案例,这样的案例既能方便学生的生活又能让学生体会到程序设计的实用性,从而激发他们的学习积极主动性。这里笔者设计了一个“放假倒计时器”和“值日安排”案例(见***4-6),通过这两个案例,学生可以掌握相关控件和Select Case多分支语句的使用。
2.3结合学生的其他课程设计案例
结合学生所学习的其他课程内容也可以设计相应的vB案例,在此笔者结合学生的数学知识设计了两个案例(见***7-8),案例1的目的是让学生学会循环语的使用,在学生上机习时要求学生用不同的循环语句来完成此案例的功能;案例2是让学生学会控件数组的使用。
2.4从趣味性出发设计教学案例
大多数学生之所以对各种游戏感兴趣,是因为游戏具有色彩丰富画面和较强的互动性,教师可以根据学生的这个特点设计一些具有互动性的教学案例。如***9-11所示,笔者结合vB相应编程知识设计了如下两个案例:“多彩同心圆”案例主要是让学生学会使用随机函数生成不同色彩和使用循环语句绘制出指定个数的圆圈;“移动小球”案例是让学生学习vB中的键盘事件处理,在上课时通过本案例可以让学生了解游戏中角色对象移动的简单原理,既吸引了学生又达到了激发其学习兴趣从而完成教学的目的。
vb程序篇4
关键词:VB;教学改革;任务驱动;案例教学
中***分类号:TP3 文献标识码:A 文章编号:1009-5039(2013)01-0113-03
Visual Basic(简称VB)程序设计语言是目前最流行的程序设计语言之一,它简单易学且功能强大,是一门实践性很强的课程。开设本课程的目的是为了培养学生程序设计思想和计算机实际应用的能力,越来越多的高校将VB作为编程语言的首选课程。然而,在实际的教学中,学生却认为VB枯燥难学,教学效果并不理想。改革教学方法,激发学生兴趣是提高教学质量的根本办法。
VB具有可视化、面向对象、采用事件驱动编程机制等特点,概念多,内容丰富。在程序设计方面,要介绍基本语法、函数、结构化程序设计方法和常用算法;在面向对象的程序设计方面,要介绍对象和类,对象的事件、属性和方法,以及封装、继承、多态等概念。在数据库模块,要介绍数据库的建立和访问技术[1]。知识点多,理论性强,使得同学们掌握起来非常困难,给教学工作带来很大的难度。
1 VB教学中存在的问题
1.1 学习目标不明确,学习兴趣不浓厚
目前,VB理论课的教学多是在多媒体教室进行,往往是2、3个班在一起的合堂课,教学内容是按照教学大纲设计的,课堂上主要以老师讲授为主。这种以教师为主的教学方式,不能很好地调动学习的积极性,分析、解决问题的能力得不到培养,学生学习的目的性不强。很多非计算机专业的学生不了解VB对所学专业的作用,因此不重视该课程的学习,学习兴趣不浓。
再者,学生初学编程,基本功相对较差,对VB中的概念以及程序设计的基本知识并未完全掌握,使得遇到问题无从下手,即便写出了程序,也经常是错误百出,无法运行,这严重挫伤了同学们的自信心。
另外,学生学习方法单一,自学能力较弱,未能充分利用网络资源进行自主学习,因而遇到问题就只能放弃。
1.2 教学内容繁杂,教学方式单一[2]
VB课程的教学内容主要有程序设计基础、面向对象编程、数据库访问三部分组成,传统教学也是按照这个顺序进行的。在学习完变量、表达式、语句等基本知识后,才进入编程阶段,这时候学生对VB的学习兴趣早已消失殆尽,接下来是机械地完成作业,跟本谈不上什么学习热情了。
多班合堂上课,也决定了教学方式还是以老师一个人讲授为主,与同学的互动很少,更谈不上让学生思考、讨论了。这种被动的学习方式学生很快就会失去兴趣,跟本无法培养他们的编程思维方式。
1.3 实践教学组织不利,实验课收效甚微
实践教学是课程的一个重要环节。在理论课中讲解的原理、概念、案例等,只有通过上机实践才能真正被学生掌握。每节课的实验内容、实验要求、实验步骤以及要达到的实验目的,都需要精心组织。而在实际的教学中,有些老师不重视实践课,或者组织、引导不够,任由学生自由上机。学生实验目的不明确,遇到问题不能及时解决,上机只能是敷衍了事。这样的实验课对培养学生的***思考和创新能力没有任何效果。
2 教学改革
2.1 明确学习目标,激发学习兴趣
《Visual Basic程序设计》是高校本科学生的必修课,通过本课程的学习,使学生掌握面向对象的编程思想,掌握高级语言程序设计的基本方法,培养学生逻辑思维和计算机实际应用的能力。在教学过程中,老师要运用各种教育技术将学生引入到教学中来。增加师生之间的交流,将学生不理解的知识在课堂上细讲。将程序设计语言与学生所学专业紧密结合起来,举一些与学生所学专业有关的例题,调动学生的兴趣,使学生充分地参与到教学过程中来。
2.2 重组教学内容,灵活运用多种教学方法
本门课的教学出发点是培养学生的程序设计开发能力。从面向应用、提高能力这个基本点出发,可以把教学内容划分为以下几个模块:程序设计基础模块、面向对象编程模块、可视化程序设计模块、数据库访问模块[1]。教材中,某一模块所涉及的知识可能分布在不同的章节,在教学中,可以把这些内容放在一起讲解,这样就保证了知识的完整性和教学内容的连贯性,也有助于学生的理解和掌握。
针对不同的教学内容,要灵活运用不同的教学方法。在实际的教学中,我们运用的最多的是“任务驱动+案例教学”的模式。所谓任务驱动就是将教学内容作为一个任务,组织学生对任务进行分析、讨论,把一个大的任务细化为若干个小的任务。以任务作为出发点,启发、引导学生运用知识,由浅入深一步步完成所有的任务,从而达到掌握所学知识的目的。任务驱动是以“学生为主体,教师为主导”的教学模式,学生参与到整个的教学过程中来,大大激发了学习热情。任务驱动法不仅提高了学生***地分析、解决问题的能力,也培养了团队协作的精神[3]。
案例教学是以案例来划分教学内容,把知识点融入到一个个典型的案例中去,引导学生分析、解决问题,提高学习兴趣,培养解决实际问题的能力。
案例教学法的基本思路是:提出问题、分析问题、解决问题、归纳总结[4]。案例要精心准备,选取典型的、有代表性的例子,不要举过于复杂、知识点不突出的例子。在教学过程中,教师带领学生共同分析、解决案例,最后将知识点总结归纳出来。例如,应用案例介绍动态变量与静态变量的使用可以经过如下的步骤:
提出问题:动态变量与静态变量在使用中有何区别。
分析问题:引领学生通过教材的描述来寻找答案,动态变量在程序运行进入其所在的过程时,才为该变量分配内存单元,退出过程时,该变量占用的内存单元自动释放,其值不被保留。静态变量在应用程序中只被初始化一次。程序运行进入过程后,静态变量参与过程内部的各种操作,退出过程后,其中静态变量的值仍被保留,当再次进入该过程时,变量原来的值可以继续使用。这样的讲解,学生只能有一个概念性的了解,要想真正掌握必须通过案例来说明。
解决问题:通过下面的例子来说明静态变量与动态变量的区别。
归纳总结:程序运行结果如***1所示。使用Dim关键词在过程中声明的局部变量属于动态变量,a是一个动态变量,每次进入过程都被重新初始化,其值始终等于1。使用Static关键词在过程中声明的局部变量属于静态变量。b是一个静态变量,每次调用过程时保持上一次的值。
通过具体的案例,引导学生思考问题、解决问题,这样学到的知识更扎实,同时也提高了同学们的学习兴趣。
2.3 改革实践教学,增加实训项目
在实践教学过程中,“任务驱动+案例”的教学方法应该得到更好的应用,在教师的指导下,充分调动学生的积极性,在完成任务的过程中发现问题、解决问题,这样既能更好的掌握学习内容,又可以培养自身程序开发的能力。从而增强学生的学习信心,提高学习兴趣。
在实践教学中除了要学生掌握正确的解题方法,还要注重培养程序设计的风格,规范的设计风格可以使程序结构清晰,一旦有错容易发现,便于维护。
程序中的错误主要有三类:语法错误、运行时错误和逻辑错误。语法错误是违反了语法规则而产生的;运行时错误是在运行代码时发生的,往往是由于执行了非法操作产生的;逻辑错误是指运行程序后,得不到所期望的结果[5]。要让学生掌握利用VB提供的调试工具,自己去发现和改正错误的方法,对程序执行过程进行跟踪监视,使编程能力得到真正的提高。
学期末要组织学生进行实训项目的练习。在理论教学中,有关数据库开发模块的内容往往介绍比较少,而这部分内容在实际工作中又非常实用。针对这种情况,可以让学生开发一个有关学生管理的实训项目。在老师的指导下,将学生分为若干小组进行开发。这样既弥补了理论教学的不足,也使学生的编程能力得到真正锻炼,同时也培养了同学们相互合作的精神。
2.4 改革考核办法
程序设计语言的考试要客观地反映学生实际的开发能力,所以要在计算机上进行考试。考试的内容要以编程题为主,同时兼顾基础知识。期末总成绩由平时成绩、实践成绩、机试成绩三部分组成,其中平时成绩占20%,主要考核平时上课情况、作业完成情况等;实践成绩占20%,主要考核的是上机实践和实训项目完成的情况;机试成绩占60%。成绩基本上能反映学生对本课程的掌握情况。通过考核也能发现平时教学过程中存在的不足,以便在今后的工作中加以改进。
3 结束语
计算机在各个领域的广泛应用,使得社会对学生的计算机水平提出了更高的要求。这就要求我们在实施教学的过程中,必须不断地创新、改进教学方法和手段。从激发学生学习程序设计的兴趣、实施“任务驱动+案例”教学法、加强实践教学等环节入手,探讨教学改革的方法。有效地提高学生使用程序设计语言解决实际问题的能力,培养学生的计算思维,全面提升程序设计语言课程的教学质量。
参考文献:
[1] 刘洪波,石磊.Visual Basic程序设计课程教学改革的探索与实践[J].广州番禺职业技术学院学报,2010(3):32-35.
[2] 卞爱莲.浅谈中职VB程序设计课程教学改革的探索[J].科技信息,2010(23):300-322.
[3] 王晓刚.任务驱动法在“Visual Basic程序设计”教学中的应用浅析[J].科教文汇,2010(3):167-168.
vb程序篇5
作的一般框架,通过实例描述了动态连接库的实现及其制做方法、编程步骤,这种方法具有
普遍的意义。
关键词VB动态连接库DLLC程序
一、引言
VisualBasic(以下简称VB)是一种可视化的面向对象的编程语言,以其编程简单、快捷
等特点,深受广大WINDOWS程序员的青睐。利用VB开发界面友好、操作方便的软件只需
很短的时间。但是VB运行速度较慢,对于庞大的科学计算问题,VB的这种慢速会使人难
以忍受。C语言是国际上非常流行的一种中级编程语言,以其灵活、高效等优点而获得广
泛应用,许多的应用程序都是用C语言在DOS环境下编写而成。那么如何发挥VB和C这两
种语言的优势,用VB设计一种良好的forwindows界面来调用C语言程序,即实现VB调用C
语言程序呢?现有的文献只提到动态链接库(以下简称DLL)可以将这两种语言连接起来,
但有讲动态链接库DLL的制做及其编程方法。本文详细介绍了BorlandC环境下制作动态链
接库以及VB调用fordos动态链接库的的方法、步骤,并通过实例描述VB调用C程序的全过
程。
二、用BorlandC编写DLL程序的方法
要想实现VB调用C程序,首先需要用BorlandC编写动态连接库DLL程序(假设DLL程序
取名为example)。动态链接库包含四个文件:C语言源程序(.C)、模块定义文件
(.DEF)、原型函数文件(.H)和工程文件(.PRJ)。下面分别详细介绍一下这四种文件
的具体结构。
1、编写C语言源程序的框架:
C语言源程序(example.C),它包括三种函数:入口函数、输出函数和终止函数。其具体
结构如下:
/*************************************/
/*文件名:example.C*/
/*************************************/
#include<windows.h>
/***********入口函数***********/
intFARPASCALLibMain(HANDLEhInstance,
WORDwDataSeg,
WORDcbHeapSize,
LPSTRlpszCmdLine)
{
if(cbHeapSize!=0)
UnlockData(0);
return(1);
}
/***********输出函数***********/
intFARPASCALexample(intparam1,...,charparamn)
{
....../*C语言应用程序*/
}
/***********终止函数***********/
intFARPASCALWEP(int/*SystemExit*/)
{
return(1);
}
以上各组成部分参数的含义:Windows.h头文件,它包含有数据类型的定义、API入口
点定义和其它有用的参数信息。PASCAL说明符定义该程序的传递参数和净化堆栈的协定
(注意:DLL外部传送的指针必须是远指针FAR)。LibMain带四个参数:
hInstance、wDataSeg、cbHeapSize和lpszCmdLine。第一个参数hInstance是DLL事例句
柄,wDataSeg参数是数据段(DS)寄存器值,cbHeapSize参数是在模块定义文件中定义
的堆的大小,LibMain使用该值使本地堆初始化。lpszCmdLine参数包括命令行信息,但
很少被DLL使用。一般来说,这四个参数是制作DLL通用的参数。
如果不想让DLL数据被封住,那么必须调用unlockdata恢复正常的非锁状态,如果DLL初始
化已经成功,DLL则返回1,若不成功则返回0值,且DLL退出系统。
DLL的输出函数实现用户所要完成的任务,这部分是DLL的核心。它与一般C语言程序不同
之处在于无scanf函数。所有的外部指针都是远指针FAR。画直线函数要用lineto函数。
DLL包括一个终止函数,终止函数有时称为退出函数,它的名字必须是WEP。且它可以被
包括在DLL模块定义文件的EXPORTS段中。
2、模块定义文件(.DEF)的结构和各段的意义
模块定义文件的结构如下:
/*************************************/
/*文件名:example.DEF*/
/*************************************/
LIBRARYexample/*DLLname*/
DESCRIPTION''''example.DLL''''
EXETYPEWINDOWS
CODEPRELOADMOVEABLEDISCARDABLE
DATAPRELOADMOVEABLESINGLE
HEAPSIZE1024
EXPORTS
example@1
WEP@2
关键字LIBRARY是把这个模块视为一个DLL,库的名字example跟在其后,且必须与该库
的名字、DEF中的DLL的文件名相一致。DESCRIPTION语句采用一个字符串,其长度可达
128个字符,通常用它来保存模块描述的信息。EXETYPEwindows语句每个windows应用程
序和DLL都需要。DATA语句定义该库数据段的内存属性,关键字MOVEABLE允许内存管
理程序在必要时移动内存段,关键字SINGLE是DLL必要,因为DLL总是有一个单一数据段,
而不管访问它的应用程序的数量。HEAPSIZE语句用来定义一个DLL局部堆的初始规模,
执行局部内存分配的DLL必须在库启动时使该堆初始化,堆的大小被传送给DLL的LiEntry
的程序。然后用该堆的大小调用Locallnit使DLL的局部堆初始化。
EXEPORTS语句定义将被用作来自应用程序或来自其它DLL入口点的程序,windows利用
这个信息建立一个序数入口值,序数入口值是一个优化的值,允许动态连接机制更快块操
作且使用较少的内存。
一般来说,模块定义文件(.DEF)的结构除取动态库的名字不同外,其它结构都是固定
的。
3.建立原形函数文件(.H)
原形函数的功能是进一步声明调用函数的函数名和传递的参数,其形式为:
/*************************************/
/*文件名:example.H*/
/*************************************/
extern"C"int_exportFARPASCALexample(intparam1,...,charparamn);
4.建立工程文件(.PRJ)
工程文件中包含有example.C、example.DEF两个文件后,然后编译连接生成动态链接
库即可。
以上是制作动态连接库的框架,现在通过一个实例介绍制作动态链接库的方法。如要
求程序完成功能为:打开一个数据文件读出前两个数据,将这两个数与所传递的两个参数
相加,返回它们的和。设该DLL程序的名字为ADD。
第一步:在BorlandC++环境下编辑.C文件、.DEF文件和.H文件,并建立.PRJ文件。如
(1)编写C语言源程序清单:
/*************************************/
/*文件名:ADD.C*/
/*************************************/
#include<iostream.h>
#include<conio.h>
#include<io.h>
#include<alloc.h>
#include<stdlib.h>
#include<windows.h>
#include<math.h>
#include<stdio.h>
#include"c:\ADD.h"
/*入口函数*/
intFARPASCALLibMain(HANDLEhInstance,
WORDwDataSeg,
WORDcbHeapSize,
LPSTRlpszCmdLine)
{
if(cbHeapSize!=0)
UnlockData(0);
return1;
}
/*输出函数*/
intFARPASCALADD(intx,inty,char*filein)
{inta,b;
fp=fopen(filein,"r");
if(fp==NULL){exit(0);}
inttemp1=0,temp2=0;
fscanf(fp,"%d",&a);
fscanf(fp,"%d",&b);
temp1=x+a;
temp2=y+b;
temp1=temp1+temp2;
fclose(fp);
return(temp1);
}
/*退出函数*/
intFARPASCALWEP(int/*SystemExit*/)
{
return(1);
}
2)ADD.DEF文件的程序清单:
/*************************************/
/*文件名:ADD.H*/
/*************************************/
LIBRARYADD
DESCRIPTION''''ADD.DLL''''
EXETYPEWINDOWS
CODEPRELOADMOVEABLEDISCARDABLE
DATAPRELOADMOVEABLESINGLE
HEAPSIZE1024
EXPORTS
ADD@1
WEP@2
(3)ADD.H程序清单:
/*************************************/
/*文件名:ADD.H*/
/*************************************/
extern"C"int_exportFARPASCALadd(intx,inty,char*filein);
(4)建立工程文件:
在BorlandC++环境下的project项中打开openprojectfile项并建立ADD.prj,在add
item中加入ADD.C文件和ADD.DEF文件即可建立工程文件。
第二步,在BorlandC的options项的Applation中选择WindowsDLL,再在Compile中选择
Buildall,这样就可生成动态链接库ADD.DLL供VB调用。
三、VB3.0调用动态链接库DLL方法
制作好DLL之后,就可以用VB调用它,实现VB调用C程序。VB程序要使用DLL中的函
数,首先必须要有特殊的声明,用Declare声明语句在窗体级或模块级或全局模块的代码
声明段进行声明,将动态链接库中的函数声明到VB中,供VB程序调用。
语句格式为:DeclareSub过程名Lib摽鈹黚_n[Alias"别名]([ByVal参数AS类型]),
或为DeclareFunction函数名Lib摽鈹黚_衃Alias"别名]([ByVal参数AS类型])AS
类型在声明中首先用Declare关键字表示声明DLL中的函数。在C语言中有的函数类型为
VOID,它表示不具有返回值,则必须用关键字Sub将其声明成过程。有的函数具有返回
值,则必须用关键字Function将其声明成函数,并且在声明语句的最后要用AS关键字指明
函数返回值的类型。
例如上面的ADD.DLL在VB中就可以声明为:
DeclareFunctionADDLib撫c:\ADD.dll敚―ByValXASInteger,ByValYASInteger,ByValfileinasstring)ASInteger
通过此声明语句将函数ADD声明到VB中,便可直接调用。
四、结束语
以上详细介绍了BorlandC环境下制作动态链接库以及VB调用fordos动态链接库的方
vb程序篇6
关键词:慕课;VB;程序设计教学
1 VB慕课建设背景与意义
慕课(MOOC,massive open online courses)是指大型开放式网络课程。随着Coursera、edX、Udacity三大课程提供商的兴起,慕课课程给更多的学生提供了系统学习的机会。与国际基本同步,国内的知名高校从2013年就开始建设慕课。2013年5月清华大学正式加盟edX,成为edX的首批亚洲高校成员之一;2013年7月,复旦大学、上海交通大学签约MOOC平台Coursera。2014年5月,网易云课堂承担***国家精品开放课程任务,与爱课程网合作推出的“中国大学MOOC”项目正式上线。慕课课程建设受到越来越多国内高校的重视,是因为它具有以下特点:
(1)工具资源多元化。慕课整合了多种社交网络工具和多种形式的数字化资源,形成丰富的课程资源和多元化的学习工具。
(2)课程易于使用。慕课突破了传统课程的时空限制,世界各地的学习者依托互联网即可学到国内外著名高校课程。
(3)课程受众面广。慕课突破了传统课程人数限制,能够满足大规模课程学习者学习。
(4)学习者自主参与。慕课课程同时具有较高的入学率和辍学率,这就需要学习者具有较强的自主学习能力才能按时完成课程学习内容。
慕课成功实现了一种高端的知识交换,它让每个人都能免费获取来自各知名高校的资源,可以用任何设备、在任何地方进行学习。
尽管VB(Visual Basic)作为程序设计语言已有近20年的历史,算不上先进,但作为非计算机专业学生必修的计算机程序设计语言,VB有着独特的优势,如面向对象、事件驱动、简单易用的集成化开发环境、语言的简单易学性等。需要特别指出的是,在最新版浙江省普通高校招生考试改革方案中,信息技术和通用技术作为技术科目已经和传统的“理、化、生、***、史、地”一起成为7选3科目,而信息技术的加试模块部分就是VB程序设计基础,这足以显示VB在计算机教学语言中的地位。因此,VB课程还将在很长一段时间内在高校及中小学计算机教学中扮演十分重要的角色。
VB程序设计基础在高校中有着很大的受众。以浙江师范大学为例,每年的修课人数在1200-1500之间;另外,现在的家用计算机和移动计算平台都非常普及,尤其在高校中,几乎人手一台笔记本,这为将VB程序设计基础课程从传统课堂迁移到慕课平台提供了硬件基础;同时,VB课程的内容特点非常适合慕课这一新兴的教学形式;现有的师资队伍水平也为VB慕课建设打下良好的基础。除此之外,VB慕课建设的意义还在于鼓励优秀教师积极探索教学模式创新,充分利用网络***教学优势,建设国内一流水平的课程体系,从而提高高校的知名度。因此,VB程序设计基础慕课建设具有十分重要的意义。
2 VB慕课建设内容
慕课有别于传统的视频公开课,它提供高质量的数字化教学资源,包括课程大纲、课程教学视频、课堂讲义、课程作业、评量试题、学习评估、补充教材等内容,同时提供各种用户交互性社区、师生互动与答疑机制等。VB慕课课程的主要建设内容如下:
(1)基于知识点的实例设计。长期的课堂教学实践证明,基于案例驱动的教学方法有利于激发学生的学习兴趣,提高学生的学习效率。然而,在普通课程的教学中为了突出趣味性或实用性,所设计和采用的案例一般都包含多个知识点,往往需要一节课或两节课的时间来完成,这样的案例粒度并不适合慕课课程,这是因为慕课受众的时间比较零碎,在电脑上学习的时间也不宜太长。根据经验,每个实例教学时长宜在8-12分钟之间,因此,必须对教学案例进行重新设计,将它们细化为基于知识点的教学实例。
(2)实例化课程教学视频制作。慕课教学视频制作不同于普通网络公共课的视频制作,为了达到更好的教学效果,必须借助多种媒体技术来呈现教学内容,而且需要根据不同的知识点及案例特点来选择合适的呈现媒体来进行制作和美化。如实例的演示适合用VB程序的执行录像,有些知识点的讲解适合用板书录像,而有一些原理性的知识点讲解则需要借助于Flas等。实例化课程教学视频制作是VB慕课建设的重点。
(3)以实例为导向的课堂讲义设计。在普通课程教学中,VB课堂讲义是基于案例驱动教学方法设计的,不太适合慕课学生的学习,因此,必须根据设计好的实例来重新设计课堂讲义,以便与教学视频相辅相成,共同促进学生的知识吸收、内化和迁移。
(4)巩固与拓展相结合的课程作业设计。为了使学生能够及时巩固所学的知识,并能够给予知识拓展的机会,教师必须设计知识点层层递进且大小适中的随堂作业。在设计这些课程作业时,需要注意旧知识点和新知识点相结合,实用性和趣味性相结合,文字描述与多种媒体呈现相结合,从而更好地激发学生学习的主动性和积极性,达到更好的知识巩固和能力拓展效果。
(5)学生作业***评判系统设计。VB程序设计重视学生的动手编程能力,学生必须通过大量的编程实践,才能更好地理解程序概念和掌握VB编程能力。为了能够随时了解学生的学习情况,老师必须及时地对学生提交的作业进行评判。参加慕课课程的学生人数往往较多,教师手工评判显然无法满足众多学生的需求且不能保证实时性,因此,必须设计和开发***学生作业自动评判系统。VB学生作品自动评判系统是VB慕课建设的重点所在。
(6)学生学习效果评估方案设计。慕课无论是教学内容、教学组织形式,还是学生层次、学习方式等都与传统课堂教学以及传统视频公开课存在较大的差异,学生学习效果评估方法上也应该大不相同。我们需要探索基于慕课的学生学习效果评估方案,以实现对学生客观、准确的学业评价。我们目前采用的考核方式包括课堂考勤、期中考试、随课实验、综合实训和期末考试。
此外,用户交互性社区、师生互动与答疑等功能对于学生的相互学习、交流反馈等有着重要的作用。目前,主流的慕课平台提供商都为这些功能提供了技术支持。因此,慕课建设人员要把重点放在整理和设计常见问题预案上,以便在师生互动答疑环节教师能够适时、准确、高效地回答学生提出的问题。
3 VB慕课建设与使用过程中需要注意的问题
(1)VB慕课建设团队和硬件条件。慕课需要提供高质量、精美的数字化教学资源,要建设好慕课,必须要有强大的建设团队。在传统的视频公开课制作过程中,一般只要有教师、摄影师和视频编辑人员就可以完成录制。在慕课建设团队中,除了需要有经验丰富的教学名师外,还需要有熟悉慕课拍摄的专业导演、摄像师、动画制作师、配音师以及其他辅助人员。慕课建设还需要有专业的场地和设置,如摄影棚、摄像机、视频编辑平台等。在VB程序设计基础慕课建设的前期准备中,项目组刚开始没有认识到这个问题,制作的效果并不理想。后来,请来了校电视台及信息技术传播实验教学级中心(属部级实验教学示范中心)的专业人员,才达到了较好的效果。
(2)测试与反馈。VB慕课制作完成后,需要进行一段时间的上线试运行,之后再针对教师和学生的反馈和建议对VB慕课进行修改和完善,需要多轮的测试与反馈才能将课程建设好。
(3)考核环节与作业练习。在慕课学习模式下,必须加强考试环节的严肃性,必须让学生知道,慕课视频看或不看、学或不学,都能够在课程考核中得到很好的体现。如基于视频内容提问的课程考勤可有效防止学员的“出工不出力”现象。在慕课教学过程中,不仅要加强课程考核的管理,还需要适当加大课程考核的频度,除了期末考试,还可以有期中考核、四分之一阶段考核和四分之三阶段考核,因为从督促学生学习的角度考虑,分散考核比集中考核更加有效。
(4)课程作业。课程作业是对学生的学习行为进行监管和督促的主要手段,是对学习过程的监控。在VB慕课教学中,师生往往缺少见面机会,作业怎么收、怎么改、怎么评价?这些问题必须解决。从技术上讲,必须在计算机和网络应用背景下对慕课课程作业进行改革,它是慕课技术链条和应用逻辑中核心的一环。针对这一问题,我们设计了学生VB作业***评判系统,对学生的每一个实验作品都可以进行***评判,保存并统计其成绩,以作课程评价之用。
vb程序篇7
关键词:VB程序设计课程;现状;教学改革
中***分类号:G642文献标识码:A文章编号:1009-3044(2012)14-3335-02
VB(Visual BASIC)程序设计课程是我国高等教育普遍开设的一门重要的公共课程,是一种针对初学者的较为基础和使用的入门型程序设计课程。作为我国高等院校计算机教学第二层次的计算机技术基础课程,VB程序设计课程的教学应当在坚持这一课程基础性、实用性、系统性以及即时性等的基础上,从学生自身资质考虑,对不同专业的学生分别设计不同的教学计划。
1当前我国VB程序设计课程教学现状及问题
1.1课程教学形式与方法
在我国高等院校的VB程序设计课程教学中,通常教师会根据其教学材料的进度安排进行授课,首先介绍VB中的专业名词如对象、属性、方法、事件;其次介绍VB程序设计的应用界面设置以及编写和运行其程序代码;然后介绍VB语言的基本语法和VB程序的基本结构,进而循序渐进地引出其程序设计的基本理念、算法、过程、数组、常用控件、函数、文件读写、数据库等知识点。我国高等院校教师对VB程序设计课程的授课特点较为严谨和和充分,以知识点为序安排教学计划,更注重教学中对课程的整个知识体系的把握。
1.2课程教学质量与师资
目前我国的VB程序设计课程教学质量普遍不高,从社会外部环境因素来看,这主要是由于近几年我国高等院校的大规模扩招;从我国高等院校内部条件和状况来看,则主要问题在于学校的整体师资水平不高、教学资源不充足、教学条件还较为简陋。而综合内外这两方面因素,对我国VB程序设计课程造成的结果是高等院校招生人数激增和招生整体素质水平下降等更加剧了高校原本就不充足的师资力量和匮乏的教学资源,具体表现为了应对教师数量不足和教学资源缺乏而对VB程序设计课程进行大班教学,而大班教学又直接影响到了VB程序设计课程教学的质量。VB程序设计课程的大班教学不仅从客观上制约了其教学质量的提高,它还从主观上直接影响到其学生受众对课程的积极性和兴趣度。
1.3课程教学中的具体问题
我国VB程序设计课程教学所面临的问题除了以上长久以来存在的传统教学方式方法的制约和近几年来高等院校大规模扩张造成的教学水平差强人意和师资力量、教学资源的严重匮乏等问题外,还有一些在VB课程的课堂中出现的具体问题。例如,高中时期文理分科导致高等教育中不同专业学生对VB程序设计课程知识内容的接受力出现偏差,文、理科背景学生相比较而言,理科学生的逻辑思维能力更强、其数理理论知识也更为扎实,因而对编程语言VB的理解和学习能力更强,相应的文科背景的学生对VB语言的学习则存在更多的障碍。再如,机房资源等教学条件的不足和过多的实际课程人数不仅直接影响了部分学生上课的质量,还限制了教师计划的课程进度。
2我国VB程序设计课程教学改革趋势
在社会经济、文化、科技发展日新月异的外部大环境下,我国高校的教育教学也受到了极大的挑战和冲击,在当前全国各个高校都积极进行教育教学改革的新背景下,学校、社会和学生对VB程序设计课程的教学也都提出了新的要求和需求。目前我国高校通常在本科一年级学生完成了对计算机基本操作的学习后再开设VB程序设计课程,以减小学生直接学习编程语言课程的难度,然而由于VB程序设计其本身的课程特点以及教师传统的教学方式,使得对于部分学生来说该课程依然较为晦涩和枯燥,因此我国VB程序课程教学改革将是一个必然的趋势,具体来说包含以下几方面:
2.1教学安排突破教材的传统教学框架
突破课程教材的传统教学框架有两方面的涵义,首先是传统教学安排理念的改变,传统的以知识点为线索的教学计划与安排虽然具有较强的体系感和完整性,然而面对VB程序设计枯燥、晦涩、抽象的课程内容特点,显然传统上按部就班的教学方式无法提高学生对课程的兴趣和接受速度,因此需要采用一种新的教学框架,以学生认识事物的规律为依据,循序渐进地吸引和激发学生的兴趣,进而提高其教学质量,例如,将VB编程的对象和语法穿插讲解,然后以同时会用到这二者内容的一个实例进行巩固;其次是针对上文提到的学生对VB程序设计课程知识内容接受程度存在较大差异的问题,在VB程序设计课程的教学中,按学生的接受程度进行分班教学,在对不同VB编程知识背景学生的教学中运用与其相对应的个性化教学计划框架。
2.2丰富课堂教学的方法与形式
在传统的教育教学方法中,VB程序设计课程多以讲解为主的,而事实上它是一门理论与实践相结合的课程,且相对而言其实践性特点更为显著,因而今后我国VB程序设计课程将在课程教学中运用更为丰富和多样的教学手段与形式。首先,在理论教授阶段,VB课程仍然以传统的讲解式课堂教学为主,清晰完整地给学生介绍这门课程需要了解的基本知识,再渐渐深入,引发学生对课程的兴趣。其次,以丰富的实际例子进行分析,以巩固课程基本知识,也可以通过错误例子加深对知识的认识,例如,假设三个变量a、b、c满足a
Option Explicit
Private Sub Command1_Click() Dima As Integer, b As Integer, c As Integer
a=-3:b=-2:c=-1 Print a
Print a<b<c, False End Sub
这样的反例教学更能加深学生的印象。另外,采用“项目化教学”等方式,以某个工程项目为例,在实际的案例中将理论与实践结合,加强学生的实践操作能力并培养其全局概念。
2.3提升师资力量与充实教学资源
加强我国高等院校VB公共课程的师资队伍和教学条件的建设,这不仅仅是为了应对当前高校扩招的客观现实,更是要从根本上改善我国高校VB程序设计课程教学的质量和提升VB课程的教学环境,其具体的操作手段可以是短期培训、集体备课和经验交流等等。
3结束语
在社会经济、文化、科技不断发展并推动我国高校教育进行改革的新背景下,我国高等院校VB程序设计课程的教学应当在明确VB课程定位的前提下,立足学校、学生的实际需求,从解决现存最明显的教学问题入手,逐步建立和完善高校的师资构成与教学资源系统,丰富和创新教学方法、教学理念,从本质上提高我国VB程序设计课程教学的质量。
参考文献:
[1]张玉生. Visual Basic程序设计教程[M].北京:中国电力出版社,2008.
[2]刘向秋.浅析VB程序设计的教学改革[J].职业技术(教育论坛),2009(2).
vb程序篇8
【关键词】VB 程序设计 课程设计 教学现状 教学方法
【中***分类号】G71 【文献标识码】A 【文章编号】2095-3089(2015)06-0213-01
VB(Visual Basic)程序设计是职高计算机专业学生必修的一门基础课程,相对于以前所学的QB程序设计,VB是一门面向对象的程序设计语言,学生更容易接受,掌握好VB的程序设计方法及一些常用算法,是培养IT软件人才的基本需要,对职业学校的学生将来学习其他的程序设计课程来说有很大的帮助。但实际教学中,学生学习VB的情况不容乐观,那么如何使学生能更好地掌握VB程序设计语言,让学生学以致用,是我们计算机职业教育教学中必须面对的问题,下面本人结合自身的教学实践,谈谈如何有效进行《VB程序设计》教学。
一、职高《VB程序设计》教学现状
1.学生学习兴趣不高,学习态度不端正
《VB程序设计》语言中概念抽象,学生在学习后难以理解、消化。更重要的是职高学生毫无编程基础,英语底子差,逻辑判断能力和抽象思维能力不强等原因,对该课程学习目标也不明确,课外的自学能力较为薄弱。此外,《VB程序设计》解决问题的思维方式和我们平常的解决问题的方式不一样,这是思维方法上的一个转变,这种转变过去一直是通过教师的引导和学生的大量的练习,由学生自己自然而然感悟到的。对于学生而言是一种反复的挫折教育,不少学生在相对较短的学习周期内,无法逾越这个障碍,这样就造成挫折感一步步的加强,学习兴趣进一步下降,从而缺乏对该学科的认同感,最终产生了“我只要会软件的应用就可以了! ”的这样的错误思想。在这种思想的影响下,学习的态度也就不够端正。
2.教材安排不够灵活
按照常规的教学思路和方法,先介绍VB可视化编程的概念、VB常量、变量、函数、语句等语言基础及顺序、选择、循环三种基本结构等知识点,再进行简单的程序设计。也就是学生先学习理论,再进行实践。这从学习编程软件知识的逻辑结构体系考虑可以说是十分合理,没什么问题,但从职高学生的知识水平和认知规律考虑,把一些抽象、难懂的,枯燥的内容放在开头学习,并不利于学生掌握知识,反而容易打击学生学习编程的积极性,更严重的可能会让学生排斥所有的程序设计,而且要在一个学期完成VB课程的学习,对于他们来说有一定的难度,本人认为教材的处理上可以安排两学期,或者增加实践课时,这样有助于学生了解程序的基本思想、算法,并能设计出简单的程序。
二、《VB程序设计》教学的几点策略
1.第一堂课的重要性
良好的开端,是成功的保障。对于职业高中没有一点程序基础的学生而言,不能和他们开门见山的去讨论VB课程是怎么样的一门课。为了提高学生对该门课程的好奇心,增强学生对《VB程序设计》学习的兴趣,应避免第一堂课就开始讲授基本理论,基本概念。可以为学生展示一些由VB开发的一些小软件、小游戏,比方说QQ登录框、随机抽题活动,猜拳游戏等。这些程序选择上也必须考虑到设计的复杂性。最佳选择是:让同学们感觉有难度,却又觉得通过学习后能自己动手去实现它。
2.教学方法灵活应用
针对不同的教学内容,不同的班级,采用不同的教学方法,丰富自己的教学手段,以提高课堂教学质量。
①直观演示法
在VB程序设计教学中,对于理论中的一些抽象的概念,如:类、对象、属性、事件、方法等,合理利用一些与之相关的素材,采取直观演示法,让教学更直观,让教学难点和重点深入浅出,又发挥了传统教学手段在解决学生现场问题上的优势。例如介绍算法,进行两个变量值的交换,先介绍计算机中数据的存放,让他们了解计算机基础的相关知识。可通过黑板画***或其他方法给学生介绍存储单元,让学生建立起存储单元的思维模式。再通过两个具体的例子演示如何实现数据的交换,让学生能直观的感受到。这不仅使学生了解了程序中的算法,也使他们了解计算机中存储单元的唯一性,使枯燥的内容形象化。
②案例教学法
VB程序设计是一门操作性非常强的学科,在教学过程中可以采用案例教学法。学生完成前先组织学生学习、讨论,进而引出任务中的知识点及所包含解决问题的方法。让学生在该方法的基础上举一反三,引导他们采用相同方法或相类似方法去解决其他相近的问题。学生在模仿的基础上能具备一定的创新精神。例如在学期初的上机课中,让学生完成一个简单加法器的VB小程序,设计邮箱注册网站,简单的电子时钟,让学生通过观察,体验感受其中的奥妙,激发学生想学的兴趣,培养学生解决实际问题的动手能力,进一步提高《VB程序设计》的课堂教学效果。
③任务驱动教学法
将已经做好的程序作品提供给学生,先让学生体验一下该程序的功能,分析窗体中用到哪些控件,分别要修改、设置哪些属性,要实现相应功能,应该在哪个或哪几个控件中添加代码等。当然,教学素材要选择恰当,任务难度要适中,如在介绍文本框的passwordchar属性时,我选择QQ登录框的设计。介绍***片框和***像框时,可以选择制作一个简单的电子相册,介绍定时器控件时可以选择制作一个简单的电子时钟,或者选择制作一个简单的交通指示灯(模拟红绿灯)等,让学生通过观察、体验激起学生学习的兴趣,能够积极思考并动手实践。
④分组教学法
学生第一次接触编程,由于不熟悉VB操作环境,又缺乏自己分析解决问题的能力,可以根据班级学生的实际情况进行分组,小组合作学习一般以6―8人为一组,不同层次的学生进行优化组合,优劣互补,相互促进,组与组之间尽量保持相对平衡的水平。这样更有利于各组在学习过程中进行公平的竞争,且每组确定一位组长,组内同学的问题可以由他来负责解答,组内的作业情况也可以由组长检查后汇报给老师,这样,每个组存在的问题经过组长汇总后给老师,老师根据反馈的情况可以进行统一讲解,当然组长和组长也可以进行问题的交流,这种组内交流,组间互动的方式可以更好提高课堂效率,培养了同学之间相互协作的精神,还在一定的程度上提高了学生自学能力,自我分析及解决问题的能力。
3.实训课堂中的教学评价
根据职高生的特点,可以对学生的行为进行评价,学生在实训过程中,无论是掌握了一个算法,还是其中的一个控件的应用,都要给予公正的评价,如果因教师的不公正评价,可能会使学生灰心丧气,甚至讨厌这个老师,更严重的是使学生失去学好这门课的信心。因此,做好实训课中学生行为的评价,激励学生克服自己不足之处,争做有素养,有技能的职高生。既是教学的要求,也是育人的需要。
三、结束语
《VB程序设计》在计算机基础教学中占有重要地位。要让学生学好这门课程,只有不断挖掘在教学过程中出现的问题,不断的改革教学方法,丰富教学手段,才能改善目前低效率的现状,从而提高课堂教学效率,激发职高计算机专业学生的学习兴趣,培养学生解决问题的实际动手能力,有效的完成教学目标。
[1]孙帝.《课程改革与问题解决教学》,远方出版.2004年10月第1版
vb程序篇9
关键词: 考试模式; 过程化考试; 教学质量; 综合化考试
中***分类号:G642 文献标志码:A 文章编号:1006-8228(2015)02-50-03
Research of evaluation mode in visual basic programming course
Li Guizhi, Zhou Changsheng
(Computer Center, Beijing Information Science and Technology University, Beijing 100192, China)
Abstract: It is difficult for traditional examination pattern to stimulate the enthusiasm of student's independent learning and cultivate them to analyze, solve problems. A new comprehensive and procedural examination mode must be taken to adequately play its role in teaching. In this paper, the drawbacks of VB curriculum examination model are analyzed. Design principles and realizing process of VB curriculum comprehensive, procedural examination mode are given. The practice has shown that the application of this new examination model in VB teaching is conducive to the cultivation of students' personal development and innovative ability. It will help to improve the quality of teaching and achieve talent cultivation goal.
Key words: examination mode; procedural examination; the quality of teaching; comprehensive examination
0 引言
随着信息技术的发展,计算机的应用遍及社会各行各业,计算机应用能力的培养不仅限于计算机专业的学生,运用计算机技术解决专业问题是当代大学生必须具备的基本素质。对非计算机专业学生的计算思维能力的培养是大学计算机基础课程教学的首要任务。“Visual Basic 程序设计语言”(以下简称 VB)作为一门面向对象的程序设计语言,具有简单易学、功能强大、应用广泛的特点。因此,各高校把VB作为非计算机专业进行计算机教育的基础课程之一。
课程考试是整个教学过程中的重要环节,是评价教学质量和学生学习效果的重要手段。科学合理、适合创新人才培养的考试模式不仅能对教学起到反馈、调节、评价、促进作用,而且对培养学生掌握正确的学习方法,调动其学习积极性和主动性,培养其创新能力具有重要作用。相反,不合理的、单一的考试模式会扼杀学生学习的热情和创造力,违背了高校人才培养的宗旨。
本文根据非计算机专业学生学习程序设计的基本特点,结合VB程序设计课程考核体系的现状,探索多元化、过程化考核体系的实现机制,以提高学生学习的积极性和主动性,达到创新人才培养的目标。
1 课程考试的意义和作用
课程考试是完成教学任务、实现人才培养目标的基本手段,其基本目的是检测教学效果,督促学生学习并发现教学中存在的问题。在教学过程中它主要发挥了四方面的作用[1-2]。
⑴ 考评。考试的结果可以作为考评学生的学习效果优劣程度的重要依据,可以评判学生对课程大纲所规定的基本知识、基本原理的掌握程度,以及运用所学的基础理论分析问题、解决问题的能力。
⑵ 引导。根据培养目标制定的考试内容、考试形式和考试标准等,对学生的学习方式、方法和创新能力的培养具有引导作用。
⑶ 反馈。考试结果具有反馈作用,学生通过考试成绩发现自己在学习过程中学习方法的不足,知识的欠缺,以便在后续的学习过程中不断改进,其反馈结果对学生起着激励作用。教师可通过考试结果了解学生对知识的掌握情况,发现薄弱环节,以便及时调整教学方法与方案,实现既定的教学目标。
⑷ 鉴定。学生考核结果在一定程度上反映了教师的教学投入、教学方法和总体教学水平,可以作为对教学人员进行评定优劣、奖惩的重要依据。
总之,课程考试在教学中具有不可替代的作用。科学合理的考试能有效促进学生的创新思维能力和自主学习能力的培养,是激发学生学习兴趣和进取精神的有效手段。
2 VB课程考试模式现状分析
VB课程现有的考试模式强调考试的目的性,使得学生为考试而学习,不利于学生创新能力的培养,严重背离了人才培养的目标。其弊端主要体现在以下几个方面[3]。
⑴ 课程考试目的不明确。课程考试所特有的考评、引导、反馈和鉴定等功能,对提高学生自主学习能力、创新人才的培养具有重要作用,是完成教学任务,实现人才培养目标的手段。传统考试模式的考核目标不明确,没有充分发挥考试的真正作用。过分强调考试分数的作用,将分数作为奖学金评定、评优等利益的依据,这导致学生考虑最多的不是如何有效地掌握知识、技能,而是如何有效地通过考试获得高分。
⑵ 课程考试模式单一。在课程结束时采用单一的期末考试的考核方式,考试形式一般采用笔试闭卷形式。在这种考试方式下,教师无法在教学过程中根据考核结果有针对性地调整教学手段和教学方法,难以发挥考试在教学过程中的反馈作用。学生也无法根据考核结果调整自己的学习方法,考试对学生平时学习的激励和引导作用无从体现。这种考核模式重理论、轻实践,不利于培养学生分析问题和解决问题的能力。另外,仅凭课程考试成绩,而不是综合地考虑学生整个学习过程的情况,这样做不利于创新思维的培养。
⑶ 课程考试内容片面。考试内容直接影响到学生的学习态度、学习方法和学习习惯。现行的考试内容拘泥于教材内容,重知识轻能力,缺少综合性的、解决实际问题的考核题目。学生只要根据教师上课的重点进行考前突击,就能轻松通过考试甚至得到高分,完全没有达到考核的真正目标。这种情况导致学生为考试而学习,只是死记硬背书本知识,知识面狭窄,缺乏运用知识解决实际问题的能力和创新能力。
⑷ 课程考试结果没有发挥反馈作用。考试结束后,应对考试质量进行分析,考试质量分析通常包括:试卷质量分析和学生成绩分析。试卷分析主要检查试卷的各项指标是否满足教学大纲的要求,在此基础上进行学生成绩分析,了解学生掌握知识的程度和实践能力的水平,以及时评价教学效果和发现教学中存在的问题,在后续的教学过程中不断改进完善。在目前的考试模式下,由于考试往往都临近期末,课程教学全部结束,很少有人真正对课程的考试情况进行系统分析和全面评价学生对知识的掌握程度及能力的培养情况,也没有根据考试情况找出自身教学过程中存在的问题。而学生往往只关心分数,而不关心自己在哪些方面还需要提高。考试对教学的反馈作用没能充分发挥出来。
3 多元化、过程化考试模式在VB课程中的实施
针对现有考试模式存在的问题,我校在VB课程考核改革方面进行了积极的理论和实践探索。如何设计、组织考试,如何发挥考试对教学质量评价与信息反馈的作用,是创新型人才培养过程中一个不可缺少的环节。
3.1 VB课程考试模式设计原则
⑴ 考试模式多元化。改革单一的课程考试模式,采用多元化的考试模式。就是对学生的知识、能力和素质作出全面的综合评价,而不是通过一次考试就决定学生的学习成绩,应加强平时考核。教师在教学过程中根据不同阶段的教学要求,灵活运用提问、讨论、作业、小论文、单元测验等方式了解学生学习状况,获取教学信息,以指导后续的教学工作[4]。
⑵ 考试模式的过程化。就是对学生学习过程多方面、分阶段的考核,加强试卷的反馈功能。阶段考试结束后,教师就应认真分析学生的考核结果,认真总结自己在教学与考核方面存在的问题,总结学生掌握知识、灵活应用知识的情况以及创新思维能力的培养情况。考核反馈分析的过程就是检查、总结、促进教学相长的过程,为后续的教学和考核等诸方面教学工作积累宝贵的经验。
⑶ 考试内容综合化。改革课程考试内容,加强对学生创新能力的考核。课程考试既要检验学生理论知识的掌握,更要检验其理解和运用知识解决实际问题的能力以及创新能力。这样才能激发学生自主学习的热情和探索创新的兴趣。命题时考虑试卷对学生能力培养的引导作用。试题不应是课程教学内容的简单重复,而应在课程教学内容的基础上有所提高、拓展,以保证学生能充分地发挥自己的潜力和智能。
3.2 在VB课程中实施新的考试模式
VB课程采用课堂随机提问、上机实践、阶段考试、期末考试有效结合,学生全程参与教学的考试模式。课程成绩=平时成绩(10分)+上机实践(30分)+阶段考试(30分)+期末考试(30分)[5]。
⑴ 平时成绩。根据学生出勤情况以及在课堂上回答老师提出的问题给出成绩。教师根据教学大纲的内容合理设置问题,抓住每次课的教学重点,由学生主动作答,以激发学生学习的积极性,锻炼学生的表达能力。
⑵ 上机实践。VB课程需要上机进行实践操作,每次实验课,根据教学大纲的内容,布置基本实验任务,此外,还要结合已学知识布置有一定难度、综合性实验任务,在成绩评定时给予较大的权值,以此激发学生学习的积极性,锻炼解决实际问题的能力。课程结束时还要安排综合实验,由小组同学合作完成,锻炼学生的团队合作精神。
⑶ 阶段考试。VB课程已经建立的课程考试系统具有组卷、评阅、题库管理功能,使得过程化考核能够得以实施。在组卷功能上可按课程的阶段(模块)组卷,也可按照设定的难度系数组卷。学生可以根据自己的学习情况自由选择试卷的难度系数,考试成绩与难度系数相关,这在一定程度上激励学生学习的积极性。允许学生多次申请考试,如果学生对某一阶段考试成绩不满意,可再次申请参加考试。为了公平合理地计算考试成绩,可根据考试次数设定不同的权重。
课程授课与阶段考试可以同步进行。完成某一教学阶段后,学生利用课程考试题库系统上机考试,考试结束后系统即时给出成绩。教师根据考核情况可以了解学生掌握知识情况,以便改进后续的教学,充分发挥考试的反馈作用。
⑷ 期末考试。类似传统的期末考试,针对全部教学内容的综合考试,与阶段考试一样采用课程考试系统,并讲试卷分成不同的难度等级。学生可以根据自身情况自由选择。另外,允许第一次考试成绩不理想的学生申请再次参加考试。
3.3 VB实施新模式考试面临的问题
⑴ 平时成绩的可信度。避免平时成绩考核的随意性,需要教师把握提问问题的难度和适应度。教师要尽量客观公正地评价学生的学习效果,提高平时考核考试的可信度。
⑵ 学校考核***策的支持。学校应该从***策上向新的考试模式倾斜。传统的一次性期末考试以书面闭卷的方式进行,操作简单、方便,工作量相对较小。新的过程化考试摸式贯穿整个教学过程,无疑增加了教师的工作量,学校必须改变传统的教学工作量核算办法,调动教师参与过程化考试模式改革的积极性。
⑶ 加强考核过程的监督与管理。新的考试模式强调过程考核,其方式自由灵活,因此,要加强过程监管,防止流于形式,敷衍了事。应当根据课程的特点制定操作细则,并在实施的过程中不断完善。
4 结束语
高校要提高教学质量,培养出创新型人才,必须采用科学合理的考核模式。课程考试须多种方式相结合,分阶段逐步实施,使学生成绩的形成贯穿于整个教学过程中,这种考核模式有利于激发学生的自主学习热情,培养学生创新思维能力,同时也有利于促进教师对教学内容、方法和手段的改革。使课程考试真正起到检查学生的学习效果、评价教师教学效果、反馈教学信息和提高教学质量的作用。
参考文献:
[1] 翟晶.英国高校课程考试模式对我国高校考试改革的启示[J].教育与
职业,2009.2:108-109
[2] 谢发忠,杨彩霞,马修水.创新人才培养与高校课程考试改革[J].合肥
工业大学学报,2010.24(2):21-24
[3] 王文素.高校课程考试改革的理论与实践探索[J].长春理工大学学报
(高教版),2009.4(6):55-56
[4] 陈树华,齐辉,侯钢领.大学课程考试理念和模式的探讨[J].计算机教
育,2010.11:4-5
vb程序篇10
关键词: 程序设计;混合使用;VC/VB编程
VC/VB混合编程技术在程序设计中使用,不仅能开发出最佳界面和处理程序,同时也能缩短周期、嵌入汇编语言更好的进行底层操作。而要想使VC/VB混合编程更好的发挥作用,有必要对VC/VB混合编程特点、方法及应该注意的问题进行相应分析。如何更好的对程序设计中混合使用VC/VB编程进行分析,已经成为相关部门值得思索的事情。
1 混合编程概念及VC/VB混合编程特点
1.1 混合编程概念
所谓的混合编程就是用两种或两种以上程序设计语言开发应用程序的过程。就目前来看,计算机程序设计语言种类较多,但是这些程序语言仍有不足之处,一种程序语言在实际运行过程中是不能更好满足项目的需求,而混合编程除了能发挥多种语言优势,实现代码共享、缩短开发周期外,还能实现多人协作,共同完成一个项目。
1.2 VC/VB混合编程特点
VB具有简单易学且界面开发能力强等优势,受广大工程技术人员青睐。但是其在实际应用过程中因执行速度较慢,单独使用不能更好满足项目需求。VC是在VB基础上进行研究的,其代码简洁高效程度远高于VB,但是VC学习周期相对较长且用起来不方便,不能将自身优势充分的发挥出来。将VB编程与VC编程混合起来,能将二者优势充分发挥出来,在一定程度上能提高设计程序的执行性效率和程序编制的灵活性。
2 VC/VB混合编程方法
2.1 对直接法进行分析
在用VC编程进行编写时,其是可以用具体功能来执行文件的,也可在此基础上用VB中的SHELL函数来执行。这种方法相对简单,但是在实际执行过程中,这种编程的灵活性和可交互性较差。而VB编写中的程序段只能简单的启动VC编程程序段并使其运行,却无法对编写的程序段进行相应控制,再加上VB和VC编程数据交换困难,使得这种方法很少在实际中应用。
2.2 对动态链接库法进行分析
动态数据库技术是VC/VB编程中重要方法之一,其动态链接库是可以执行相应模块的,但是其却没有堆栈。因此,动态链库还有在函数程序环境下运行才能实现。动态链库在有扩展了应用程序特性是因为动态链接库能以动态形式被装入地址并进行控制,使用程序时应该先将代码装入,并以此为依据来执行相应操作。同时动态链接库也能节省内存,当两个或是多个应用程序同时使用一个动态链接库时,只需在动态链接库页面中放入RAM一次,就能实现应用程序不同页面共享。动态链接库除实现页面共享外,也能实现资源共享。动态链接库中的资源主要有对话框模板、字符串、括***标和位***等。
2.3 对ActiveX控件法进行分析
ActiveX控件作为执行组件,其是在MicroSoft中的COM技术和OLE技术基础上进行设计的。这种控件设计之初就是为了将其更好嵌入窗口或Web页来实现设备功能。ActiveX控件法与一般控件法使用是相似的,但也有不同之处。其最大的不同就是ActiveX控件能在Web中使用。ActiveX控件在实际应用过程中,与VB和VC语言是可以相互交流。在实际交流过程中,ActiveX控件和客户应用程序之间可以通过方法、属性、时间等方式实现通讯。其中方法是以空间形式将应用程序或函数展现给客户,允许控件内部函数;属性一般指以空间形式将内部可供使用或者修改数据提供给客户,并通过出发事件来调用客户应用程序的事件函数进行处理。在实际操作过程中,可以先启动系统,并选用菜单项创建新项目。正常情况下,会选用MFC ActiveX Control W izard项来产生ActiveX控件,而用这种方式在一定程度上会使空间最终代码数量变小。毕竟ActiveX控件对象是从COM对象出发的,再加上其无法使MFC类库功能发挥其应有作用,只有使用以CO为基类的控件,才能更好的实现OLE控件对象特性、方法、属性及时间等,并以此为依据按照系统给出信息完成相应工作。
2.4 对混合链接法进行分析
混合链方法就是VC和VB采取一样编译链接法,把之前的程序编译成本地码。一般VB会将系统中编译程序文件以OBJ文件形式分别编译出来,之后再用连接程序方式将其与EXE文件链接。整个过程是自动的,当相应链接完成之后,VB系统会将OBJ上的文件删除。而VC与VB编译器属于同一个程序,要想更好的实现VC链接,在连接程序链接输出EXE前,就应该对OBJ文件进行相应处理,并将VC编译的OBJ文件和VB编译的OBJ文件链接到同一个EXE文件中。最终通过CMD窗口中的键入命令来生成EXE文件并运行该文件,在此基础上点击按钮,当窗口上显示相应数字时,则证明VB程序中的Test函数为VC中定义的Test函数。
3 VC/VB混合编程使用时应该注意的问题
3.1 应该注意内存泄露问题
动态数据库作为实现混合编程方法之一,常会出现内存泄露问题。在动态链接库中,可以将设计语言称为服务语言,调用动态链接库程序中的设计语言可以称之为宿主语言。了解两种语言概念后,在实际混合编程中,还应该对这两种函数进行调用约定、参数数据类型和传递方式进行兼容,也要保证需要和管理机制一致。毕竟需要与管理机制不一致,易引起内存泄露问题。一旦出现内存泄露问题,释放组元素内存就会被占用,宿主语言使用的指针也无法指向正确结果,而释放内存,
再次调用函数时,上次服务语言中分配内存也不能正常使用。毕竟VC编写的是矩阵相乘的函数,在VB生成动态链接库中调用。为了保证程序设计有序进行,可以在宿主语言中操纵服务语言,并对服务语言中的分配内存进行释放。也可以以宿主语言中服务语言需要的内存量为依据,使宿主语言进行动态内存分配。
3.2 应该注意协调处理机制问题
使用动态链接库方法进行混合编程时,常会出现异常状况,出现这一状况主要是宿主语言和服务语言异常处理机制不同而引起。为了避免这一状况发生,应该保证宿主语言和服务语言处理机制一致性,并以异常类型为依据进行相应处理,以保证程序有序运行。在协调处理中,应先用函数返回值方法和填充全局异常结构来对异常类型、来源和描述进行分析,待确定异常状况后对其进行相应处理。在处理过程中,可以将服务语言中出现的异常状况传递给宿主语言,并用宿主语言处理机制来确定相应处理方法。一般VB为宿主语言,而VC为服务语言。
3.3 应该注意控件问题
正常情况下,ActiveX控件和一般控件使用方法是相似的,但是其在VB中使用时,仍应注意相应问题,尤其是VB与VC指针问题,毕竟指针结果正确与否直接关系着程序设计进程。ActiveX控件在VB中使用时,应该先将组数声明为VARLANT,在此基础上再将组数传递给ActiveX控件,以保证VB与VC指针结果正确。
4 结束语
VB编程与VC编程在程序设计中各有优势和劣势,单独使用任何一种程序都不能满足程序设计需求。而将VB编程与VC编程混合在一起使用,能使二者优势互补,不仅能提高程序运行效率,同时也便于操作,也能保证程序设计工作有序进行。
参考文献:
[1]何明昌,基于.NET的混合语言编程原理及实现[J].电脑知识与技术(学术交流),2007(14).
[2]刘小俊、涂春霞、宋仲康,VB和VC混合编程技术应用实例[J].可编程控制器与工厂自动化,2006(06).
[3]詹白勺、梅顺齐、陈小兰,利用VB与VC混合编程实现数字印花的***像处理[J].现代制造工程,2007(01).
[4]李湘江,VB与VC混合编程技术的研究[J].计算机应用与软件,2008(10) .
[5]柏晟,VC++与MATLAB混合编程的方法研究与实现[J].电脑开发与应用,2006(04).