高校计算机语言综合实验教学研究

时间:2022-01-22 09:51:27

高校计算机语言综合实验教学研究

摘要:当今C、汇编、SQL都是进行计算机相关教育的主要教学语言,但在教学中却发现采用书上例子进行单一实验教学并不能很好提高学生的兴趣和基本编程能力;往往实际工作中需要多门计算机语言综合使用以提高用户的设计能力和应用程序效率,加强这方面的实验环节对提高学生实际研发能力也有很大帮助。该文在高校计算机语言本科教学的基础上,对多门语言综合交叉实验教学进行研究,并通过实例说明其可行性和作用。

关键词:C;汇编;SQL;综合交叉实验

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)09-2115-02

目前对高校学生仅仅进行知识传授已不在适应素质教育培养目标,而学生的能力培养必须要在逐步的实践过程中增强。实验课环节不仅能够巩固所学理论,而且提高了学生把所学知识转化为实际运用的能力。虽然现在对课程实验环节建设已经比以前有了很大进步,实验的实用性也有一定提高,但大多数学生在面对具体项目时仍觉乏力,原因之一是因为课程实验环节过于单一。因此,可以考虑在教学过程中引入综合实验内容,在一个实验环节中同时应用几个不同课程的知识去解决问题。这样的实验不仅能使学生更好的掌握知识,也极大提高乐学生学习的主动性,启发他们对如何应用所学知识的思考。

1 C、汇编、SQL语言的背景

计算机相关专业学生所须具备的基本能力之一就是对计算机语言的熟练掌握和灵活使用,其中C语言、汇编语言和SQL语言是必须学习和掌握的重要基础内容。

C语言在1978年诞生于美国电话电报公司(AT&T)贝尔实验室,在1983年由美国国家标准学会制定C 语言标准(ANSI C)。早期的C语言主要是用于UNIX系统,由于C语言的强大功能和各方面的优点逐渐为人们认识,到了80年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。C语言是一种结构化语言,层次清晰,便于按模块化方式组织程序,易于调试和维护。此外,C语言还具有效率高,可移植性强等特点,因此被广泛地移植到各类各型计算机上,形成了多种版本的C语言。目前最流行的C语言有以下几种:Microsoft C 或称 MS C;Borland Turbo C 或称 Turbo C;AT&T C;这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充。

汇编语言是面向机器的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言的长处就在于编写高效且需要对机器硬件精确控制的程序。汇编语言目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。汇编语言通常是与高级语言配合使用,应用非常广泛。汇编语言的主要应用有:70%以上的系统软件是用汇编语言编写;某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写;某些高级绘图程序、视频游戏程序是用汇编语言编写。汇编语言是我们理解整个计算机系统的最佳起点和最有效途径,而学生则经常认为汇编语言的应用范围很小,而忽视它的重要性。

SQL全称是结构化查询语言,是IBM圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,得到了广泛的应用。如今无论是Oracle、Sybase、Informix、SQL server这些大型数据库管理系统,还是像Visual Foxporo、PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言。SQL包含4个部分:数据查询语言SELECT;数据操纵语言INSERT、UPDATE、DELETE;数据定义语言CREATE、ALTER、DROP;数据控制语言COMMIT WORK、ROLLBACK WORK。虽然SQL语言表面看内容不多,但是功能却非常强大,应用非常灵活,但却只需很少时间就能学会,最高级的命令在几天内便可掌握。

从上述内容可知,各门语言都有自己不同的长处和用途,在某些时候,功能完善且强大的C语言也不能替代汇编语言和SQL语言的作用,本文就是想通过C、汇编和SQL语言在实际项目中的综合应用,使学生不在局限于只对一门课程的单一学习,提高学生综合运用知识解决实际问题的能力。

2 计算机语言综合实验教学的应用与研究

Turbo C作为教学语言用的较多,但是Microsoft C更好的提供了数据库、网络、汇编的库函数,该文将采用Microsoft C作为教学实践开发平台,以商业零售行业中前台收银作为实际应用背景进行计算机语言综合实验教学研究

学生在面对这样一个实际系统时,除了要巩固C语言的基本数据类型、运算符、表达式、程序设计结构、数组、结构体、指针、函数、文件等基础内容,更为重要的是要学习实用且较大型软件(该前台系统主要代码有一万多行)的总体编程思路和编写方法。学生可以从较为底层的位置认识并了解大型软件(包括Windows)采用消息机制的开发思路和主要方法。前台收银系统主程序部分代码如下:

int main(viod) //主函数

{short bLoop=1;

int Result;

double rCal;

char value[81];

//定义消息结构指针

Msg *Message;

//定义台头Panel

TPanel HeadPanel={10,1,1,1,638,62,clSilver,1,,0}

...

InitFone(); //初始化字库

InitGraph(0x12); //进入图形模式

if(GetSystemParam()) //读取系统参数,不成功

InBuffer(-1,CM_CONNECT,0,0); //发送程序关闭消息

else// 发送数据库连接消息

InBuffer(-1,CM_CONNECT,0,0)

//消息循环

While(bLoop)

...}

汇编语言在对底层硬件操作方面,速度更快,效果更好,为了保持在低档POS机上也能够快速显示图形界面,商用前台收银系统采用部分汇编代码对图形处理显得非常必要。通过对此部分的学习,可以使学生深入而具体的了解汇编语言的实际应用,而不是像目前在汇编语言讲授后,学生仅仅对8086(8088)基础知识有简单了解,不知道怎么应用和进一步学习。前台收银系统部分汇编代码如下:

//设置图形模式

viod InitGraph(int INT10)

{reg.x.ax=INT10;

int86x(0x10,®,®,&sreg); //调用中断

}//关闭屏幕显示

viod CloseScr(viod)

{_asm{

mov dx,0x3c4

mov a1,1

...

}}

//打开屏幕显示

viod OpenScr(viod)

{

_asm{

mov dx,0x3c4

mov a1,1

...

}}

实际应用系统几乎都会用到数据库,在目前关系数据库广泛使用情况下,很少有软件程序没有使用SQL语言,SQL语言很少单独使用,大都嵌入到其它语言中。本文中所提到的前台收银系统同样需要大量对数据库操作,需要在C语言中嵌入SQL语言。在Microsoft C中提供了内嵌SQL语言所需库函数,为我们使用SQL操作后台数据库提供了应用基础。前台收银系统内嵌SQL代码示例如下:

void sql_initbc()

{

char tmpjbsj[9],tem[9]="00:00:00",nDate[11];

DBINT xsbs=0,maxlsh=0;

DBCHAR tem_scjbsj[30],dMaxTime[21],bcMax[7];

//提示

Printf("\n\n取收银机上次交班时间:",clSilver);

sprintf(_bvalue,"select JBSJ from QTSY_SYJB where SYJH=$s...",Param.SyjNo);

Printf(_bvalue,clSilver);

sql_time(g_now); //取当前日期时间

uf_strmid(nDate,g_now,0,10) //分离日期

if(_syfs==0||dbproc==NULL||DBDEAD(dbproc))

{

...

}

else

{

...

}

}

3 结束语

该文通过商业自动化前台收银系统的实际应用开发,完成了C语言、汇编、SQL三门课程的深入实践,既巩固了多门课程内容又熟悉了各种语言工具之间的联系方式。这样的综合交叉实验环节如果仅是部分实行,在设计上难度不大,但是带给学生的收获却非常大。通过综合实验教学,可以使部分学生在编程思路和知识应用方面接近目前高校本科毕业设计水平,使得毕业后能够基本满足企业在程序设计方面的用人要求。

参考文献:

[1] 迟成文. 高级语言程序设计[M]. 经济科学出版社.

[2] 王珊,陈红. 数据库系统原理教程[M]. 清华大学出版社.

[3] 邵佩英, 杨孝如. Sybase数据库系统基础知识[M]. 中国水利水电出版社.

上一篇:基于Spring和AOP的数据库认证日志的设计与实现 下一篇:煤矿井下人员定位系统的设计