实验设备管理信息系统之结束语和程序语言说明重点复习过程.docx
《实验设备管理信息系统之结束语和程序语言说明重点复习过程.docx》由会员分享,可在线阅读,更多相关《实验设备管理信息系统之结束语和程序语言说明重点复习过程.docx(9页珍藏版)》请在冰豆网上搜索。
![实验设备管理信息系统之结束语和程序语言说明重点复习过程.docx](https://file1.bdocx.com/fileroot1/2023-6/3/6fed1de0-7493-408b-8e47-4c9952d3cf91/6fed1de0-7493-408b-8e47-4c9952d3cf911.gif)
实验设备管理信息系统之结束语和程序语言说明重点复习过程
题目实验设备管理信息系统
结束语
时间如白驹过隙,转瞬即逝,三个月的毕业设计结束了,在这段时间里,我们没有虚度光阴,相反我们获益匪浅。
这是一次难得的练兵机会,像这样系统的,完整的做一个系统,机会不多,有指导老师从旁指导,更是难得。
在做设计的过程中,我碰到了困难,但没有怨天尤人,更不会放弃,我选择迎难而上。
只有不断的给自己充电,才能战胜困难,不断成长。
这段时间学到的东西,记忆相当深刻,无论是技能上还是思想上,我都学到了很多东西,这是我的一大财富。
只要相信自己,就能成功。
期待在将来的路途上,创造更加辉煌的成绩。
参考文献
[1]刘刀桂,孟繁晶.VisualC++实践与提高数据库篇[M].中国铁道出版社,2003.10-308.
[2]RobHawthorne.SQLServer2000数据库开发从零开始[M].人民邮电出版社,2004.2.254-355.
[3]梁方明.SQLServer2000数据库编程[M].北京希望电子社,2005.10.23-318.
[4]启明.VisualC+++SQLServer数据库应用系统开发与实例[M].人民邮电出版社,2005.5.105-305.
[5]史济明.软件工程[M].高等教育出版社,2004.12.30-235.
[6]DavidM.Dikel.软件体系结构[M].高等教育出版社,2004.5.
致谢
在这个特别的日子里,我首先感谢我们的母校,她为我们提供良好的学习环境,更为我们做出了拼搏进取的榜样,我身为学院的学生而骄傲,在以后的人生旅途上。
我要学习母校求实进取。
接着,我要感谢我的指导老师,在这段毕业设计的日子里,由于老师的支持和用心帮助,才能使得我将此系统完成。
最后,我也要感谢软件学院为我们提供良好的上机条件及学习的动力。
相信我的毕业设计的成功,就是给以学校的回报,因此我将会不懈努力把系统做好,以表示对学校,学院,老师的感谢!
程序设计语言
语言是通信系统。
程序设计语言由所有允许人机通信的符号、字符以及使用规则组成。
一些程序设计语言的产生是为了服务于特殊的目的(例如控制机器人),而其它一些程序设计语言则是比较灵活的通用工具,可适用于许多类型的应用。
然而,每一个程序设计语言必须接收确定类型的书写指令以使一个计算机系统能够完成大量的熟悉的操作。
换言之,每一个语言必须具有属于以下为人们所熟悉范畴的指令:
1.输入/输出指令。
用于I/O设备与中央处理器之间的通信,这些指令提供了将要完成的输入或输出操作类型的细节以及操作期间将用到的存储器地址。
2.计算指令。
用于实现加、减、乘、除的指令,显然,所有程序设计语言均有此类指令。
3.逻辑/比较指令。
这些指令用于转移程序控制,以及编写程序中所用到的选择和循环结构。
在处理过程中,两个数据项的比较可能是一个逻辑指令的结果。
正如你了解的那样,程序控制能根据一个选择测试(如果R>0,那么A,否则B)的结果来决定其不同的路径,而一个循环可以根据一个出口条件测试的结果(测试Q=-999?
)而继续进行或终止。
语言中除了设定测试或比较以实现转移程序控制的指令外,还有一些不依赖比较结果的无条件转移指令。
4.存储/检索和传送指令。
这些指令用于处理期间的存储、检索和传送数据。
数据可以从一个存储地址复制到另一存储地址以及进行必要的检索。
但是,即使所有的程序设计语言都具有一个执行上述这些操作的指令集,但在机器语言、汇编语言以及高级语言中所使用的符号、字符以及语法方面仍有明显的区别。
机器语言
计算机的机器语言由二进制数字串组成,并且是唯一能被CPU直接“理解”的语言。
任何机器语言指令至少由两部分组成。
第一部分是命令或操作,它告诉计算机将完成什么功能,每一台计算机都有一个操作码来完成其功能。
指令的第二部分是操作数,它告诉计算机在哪里找到或存储数据以及将要操纵的其它指令,它们是计算机将要操纵的对象,一条指令的操作数的数目因计算机不同而异。
在单操作数机器中,指令“ADD0184”的二进制值将导致地址0184中的值加到算术逻辑部件中某一寄存器的值中。
在双操作数机器中,“ADD01848672”的二进制表示将导致地址8672中的值加到地址0184的值中。
单操作数格式在最小的微计算机中十分常见,而双操作数结构则多用于大多数其它机器。
按照今天的标准,早期的计算机实在令人难以容忍,程序员不得不将大量指令直接翻译成机器能理解的机器语言的形式。
例如,为早期的IBM机器书写指令“ADD0184”的程序员将按以下形式书写:
000100000000000000000000000010111000。
除了必须记住机器指令集中大量命令的数字代码外,程序员还被迫跟踪数据和指令的存储器地址分配。
最早的编码常常花费几个月时间,因此非常昂贵且常常出错。
用于发现程序错误的检查指令,与最初编程时一样冗长,而且如果一个程序后来必须进行修改,则要耗费几周时间。
汇编语言
为了减轻程序员的负担,50年代初期开发了助记符操作码和符号地址。
为了完善程序准备过程,首先要做的工作之一是用字母符号(即助记符)去替代数字化的机器语言操作码。
现在,每一个计算机都有一套助记符代码,当然实际的符号因机器类型、型号而异。
计算机仍使用机器语言处理数据,但汇编语言软件首先把特定操作码符号翻译成对应的机器语言。
这一改进为更进一步的发展奠定了基础。
如果计算机能较容易地将符号翻译成基本操作,那么它为什么不能也完成其它一些事务性的编码功能,诸如将存储器地址赋值成数据呢?
符号化寻址就是这样一个实践,它将地址表达为程序员方便使用的符号而不是按照它的绝对数字地址来表示。
在符号化寻址的初期阶段,程序员将一个符号名和一个真实地址赋给一个数据项,例如,一个月中某百货商店顾客所购商品的总值由程序员赋值给地址0063并赋符号名称TOTAL(总值),同一月中返回的未用商品的总值赋值给地址2047,取名CREDIT(赊欠)。
那么,对于程序的剩余部分来说,当要处理这类数据项时,程序员将使用其符号名而不是地址来进行操作,这样,可以写指令“CREDIT,TOTAL”,从购买总值中减去返回商品的总值,于是汇编语言软件可将该符号化指令翻译成机器语言的位串:
011111011111111111000000111111
助记符操作码20470063
(S)(CREDIT)(TOTAL)
此后又有了如下的进展:
程序员将分配和跟踪指令地址的任务交由计算机完成,程序员只要告诉机器第一个程序指令的存储地址号码,则汇编语言软件就能自动地从该点开始依程序存放所有其它指令。
因此,如果另一指令需要加到程序中,那么没有必要修改插入该指令处以后的所有指令地址(而这一修改在由机器语言书写的程序中是必须要做的)。
相反,下一次程序执行时处理器将自动调整存储地址。
程序员不再像以前那样将真实地址赋给符号化数据项,现在他们只需说明他们的程序所需的第一个地址即可,而一个汇编语言程序将从这里开始执行,为指令和数据分配地址空间。
这一汇编语言程序(或汇编程序),还使计算机能将程序员的汇编语言指令翻译成它自己的机器代码。
在汇编语言中由程序员书写的指令程序被称作源程序,当该源程序由汇编程序转换为机器码后,则被称为目标程序。
汇编语言较之机器语言具有许多优点,它能节省时间,减少细节,较少出错,而且产生的错误也易于发现。
汇编语言书写的程序较之机器语言程序更易修改,但也存在一些局限,汇编语言的编码(编程)仍然十分耗时。
汇编语言的一个最大的缺陷在于它是面向机器的,即它们是为特定的处理器而设计的,程序在不同机器上要重新编码才能执行。
高级语言
早期的汇编程序中,一条源程序指令只产生一条机器指令。
为了加快编码速度,开发出了一种汇编程序,它能将每一源程序指令翻译成一数量可变的机器语言代码。
换句话说,一条宏指令可以产生若干行机器语言代码,例如,程序员可以写“READFILE”(读文件),然后翻译软件会自动地提供一系列详尽的预先准备好的机器语言指令,它们会将从输入设备读入的数据文件的一个记录拷贝到主存储器中,这样程序员就减轻了任务,而不必为要执行的每一条机器操作书写指令。
助记符技术和宏指令的研制与开发又反过来导致了高级语言的研制与开发,它们通常面向某类特定的处理问题。
例如,很多高级语言中用于处理具有科学化数学特征的问题,而其它一些高级语言则强调文件处理的应用。
与汇编语言不同,高级语言程序几乎可以不加修改地用于不同的计算机。
这样,当换用新设备时,重编程的费用可极大地减少。
高级语言的其它优点在于:
·它们比汇编语言更易于学习。
·它们只需较少时间来书写程序。
·它们提供较好的文本。
·易于维护。
·一个熟练的程序员,书写某种高级语言程序时将不受某一种机器类型的限制。
PROGRAMMINGLANGUAGES
Alanguageisasystemofcommunication.Aprogramminglanguageconsistsofallthesymbols,characters,andusagerulesthatpermitpeopletocommunicatewithcomputers.Someprogramminglanguagesarecreatedtoserveaspecialpurpose(e.g.,controllingarobot),whileothersaremoreflexiblegeneral-purposetoolsthataresuitableformanytypesofapplications.However,everyprogramminglanguagemustacceptcertaintypesofwritteninstructionsthatwillenableacomputersystemtoperformanumberoffamiliaroperations.Thatis,everylanguagemusthaveinstructionsthatfallintothefollowingfamiliarcategories:
1.Input/outputinstructions.RequiredtopermitcommunicationbetweenI/Odevicesandthecentralprocessor,theseinstructionsprovidedetailsonthetypeofinputoroutputoperationtobeperformedandthestoragelocationstobeusedduringtheoperation.
2.Calculationinstructions.Instructionstopermitaddition,subtraction,multiplication,anddivisionduringprocessingare,ofcourse,commoninallprogramminglanguages.
3.Logic/comparisoninstruction.Theseinstructionsareusedtotransferprogramcontrol,andareneededintheselectionandloopstructuresthatarefollowedtoprepareprograms.Duringprocessing,twodataitemsmaybecomparedasaresultoftheexecutionoflogicinstruction.Asyouknow,programcontrolcanfollowdifferentpathsdependingontheoutcomeofaselectiontest(IFR>0THENA,ELSEB).Andaloopcanbecontinuedorterminateddependingontheoutcomeofanexitconditiontest(doesQ=-99.9?
).Inadditiontotheinstructionsinlanguagesthatsetuptestsorcomparisonstoeffectthetransferofprogramcontrol,therearealsounconditionaltransferinstructionsavailablethatarenotbasedontheoutcomeofcomparisons.
4.Storage/retrievalandmovementinstructions.Theseinstructionsareusedtostore,retrieve,andmovedataduringprocessing.Datamaybecopiedfromonestoragelocationtoanotherandretrievedasneeded.
Buteventhoughallprogramminglanguageshaveaninstructionsetthatpermitsthesefamiliaroperationstobeperformed,there'samarkeddifferencetobefoundinthesymbols,characters,andsyntaxofmachinelanguages,assemblylanguages,andhigh-levellanguages.
MachineLanguages
Acomputer'smachinelanguageconsistsofstringsofbinarynumbersandistheonlyonetheCPUdirectly"understands".Aninstructionpreparedinanymachinelanguagewillhaveatleasttwoparts.Thefirstpartisthecommandoroperation,andittellsthecomputerwhatfunctiontoperform.Everycomputerhasanoperationcodeor"opcode"foreachofitsfunctions.Thesecondpartoftheinstructionistheoperand,andittellsthecomputerwheretofindorstorethedataorotherinstructionsthataretobemanipulated.Thenumberofoperandsinaninstructionvariesamongcomputers.Inasingle-operandmachine,thebinaryequivalentof"ADD0184"couldcausethevalueinaddress0184tobeaddedtothevaluestoredinaregisterinthearithmetic-logicunit.Inatwo-operandmachine,thebinaryrepresentationfor"ADD01848672"couldcausethevalueinaddress8672tobeaddedtothenumberinlocation0184.Thesingle-operandformatispopularinthesmallestmicrocomputers;thetwo-operandstructureislikelytobeavailableinmostothermachines.
Bytoday'sstandards,earlycomputerswereintolerant.Programmershadtotranslateinstructionsdirectlyintothemachine-languageformthatcomputersunderstood.Forexample,theprogrammerwritingtheinstructionto"ADD0184"foranearlyIBMmachinewouldhavewritten:
000100000000000000000000000010111000
Inadditiontorememberingthedozensofcodenumbersforthecommandsinthemachine'sinstructionset,aprogrammerwasalsoforcedtokeeptrackofthestoragelocationsofdataandinstructions.Theinitialcodingoftentookmonths,wasthereforequiteexpensive,andoftenresultedinerror.Checkinginstructionstolocateerrorswasaboutastediousaswritingtheminitially.Andifaprogramhadtobemodifiedatalaterdate,theworkinvolvedcouldtakeweekstofinish.
AssemblyLanguages
Toeasetheprogrammer'sburden,mnemonicoperationcodesandsymbolicaddressesweredevelopedintheearly1950s.Oneofthefirststepsinimprovingtheprogrampreparationprocesswastosubstitutelettersymbols-mnemonics-forthenumericmachine-languageoperationcodes.Eachcomputernowhasamnemoniccode,although,ofcourse,theactualsymbolsvaryamongmakesandmodels.Machinelanguageisstillusedbythecomputerasitprocessesdata,butassemblylanguagesoftwarefirsttranslatesthespecifiedoperationcodesymbolintoitsmachine-languageequivalent.
Andthisimprovementsetsthestageforfurtheradvances.Ifthecomputercouldtranslateconvenientsymbolsintobasicoperations,whycouldn'titalsoperformotherclericalcodingfunctionssuchasassigningstorageaddressestodata?
Symbolicaddressingisthepracticeofexpressinganaddressnotintermsofitsabsolutenumericallocation,butratherintermsofsymbolsconvenienttotheprogrammer.
Intheearlystagesofsymbolicaddressing,theprogrammerassignedasymbolicnameandanactualaddresstoadataitem.Forexample,thetotalvalueofmerchandisepurchasedduringamonthbyadepartmentstorecustomermightbeassignedtoaddress0063bytheprogrammerandgiventhesymbolicnameTOTAL.Thevalueofmerchandisereturnedunusedduringthemonthmightbeassignedtoaddress2047andgiventhesymbolicnameCREDIT.Then,fortheremainderoftheprogram,theprogrammerwouldrefertothesymbolicnamesratherthantotheaddresseswhensuchitemsweretobeprocessed.Thus,aninstructionmightbewritten"SCREDIT,TOTAL"tosubtractthevalueofreturnedgoodsfromthetotalamountpurchased.Theassemblylanguagesoftwaremightthentranslatethesymbolicinstructionintothismachine-languagestringofbits:
011111011111111111000000111111
Mnemonicopcode20470063
(s)(CREDIT)(TOTAL)
Anotherimprovementfollowed.Theprogrammerturnedthetaskofassigningandkeepingtrackof