《计算机专业英语》谢希仁第二版-第7章讲义_第1页
《计算机专业英语》谢希仁第二版-第7章讲义_第2页
《计算机专业英语》谢希仁第二版-第7章讲义_第3页
《计算机专业英语》谢希仁第二版-第7章讲义_第4页
《计算机专业英语》谢希仁第二版-第7章讲义_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

会计学1《计算机专业英语》谢希仁第二版-第7章讲义Keypoints:

usefultermsanddefinitionsofprogramminglanguages

Difficultpoints:

describingthedifferencesbetweencompilersandinterpreters第1页/共37页Requirements:TheoriginsoftheprogramminglanguagesTheconceptsofcomputercompilersMainpropertiesofobject-orientation掌握复杂定语从句的翻译技巧第2页/共37页NewWords&Expressions:translatorn.翻译器,翻译程序 syntaxn.语法,句法machinelanguage机器语言 assemblylanguage汇编语言abbreviatev.缩短,缩写 compilev.编译interpretv.解释

7.1IntroductiontoProgrammingLanguageAbbreviations:OOPL(object-orientedprogramminglanguage)面向对象的程序设计语言第3页/共37页Aprogramminglanguagerepresentsaspecialvocabularyandasetofgrammaticalrulesforinstructingacomputertoperformspecifictasks.Broadlyspeaking,itconsistsofasetofstatementsorexpressionsunderstandabletobothpeopleandcomputers.7.1IntroductiontoProgrammingLanguage程序设计语言是指令计算机实现某些具体任务的一套特殊词汇和一组语法规则。从广义的角度说,它包括一组既能被人所理解又能被计算机所识别的声明和表达式。第4页/共37页Peopleunderstandtheseinstructionsbecausetheyusehuman(Englishandmathematical)expressions.Computers,ontheotherhand,processtheseinstructionsthroughuseofspecialprograms,which,knownastranslators,decodetheinstructionsfrompeopleandcreatemachine-languagecoding.为人们所能理解是因为它们使用的是人类的(英文和数学的)表达方式。另一方面,计算机通过使用专门的程序来处理这些指令,这些专门的程序就是我们所熟知的翻译程序,它能解码我们发出的指令并生成机器语言代码。7.1IntroductiontoProgrammingLanguage第5页/共37页Thetermprogramminglanguageusuallyreferstohigh-levellanguages,suchasBASIC,C,C++,COBOL,FORTRAN,AdaandPascal.Eachlanguagehasauniquesetofkeywords(wordsthatitunderstands)andaspecialsyntaxfororganizingprograminstructions.所谓程序设计语言通常是指高级语言,像BASIC,C,C++,COBOL,FORTRAN,Ada和Pascal。每种语言都具有一套独特的关键字(它能理解的字)和组织程序指令的专门语法。7.1IntroductiontoProgrammingLanguage第6页/共37页High-levelprogramminglanguages,whilesimplecomparedtohumanlanguages,aremorecomplexthanthelanguagesthecomputeractuallyunderstands,whicharecalledmachinelanguages.EachdifferenttypeofCPU(CentralProcessingUnit)hasitsownuniquemachinelanguage.简单地与人类语言相比,高级程序设计语言比计算机实际识别的语言,也就是机器语言,复杂得多。不同型号的CPU(中央处理单元)都有它独自的一套机器语言。7.1IntroductiontoProgrammingLanguage第7页/共37页Lyingbetweenmachinelanguagesandhigh-levellanguagesareassemblylanguages,whicharedirectlyrelatedtoacomputer’smachinelanguage.Inotherwords,ittakesoneassemblycommandtogenerateeachmachine-languagecommand.Machinelanguagesconsistentirelyofnumbersandarealmostimpossibleforhumanstoreadandwrite.Assemblylanguageshavethesamestructureandsetofcommandsasmachinelanguages,buttheyenableaprogrammertousenamesinsteadofnumbers.处于机器语言和高级语言之间的是汇编语言,它直接与机器语言相关;也就是说,它可将一个汇编指令生成一个机器语言指令。人们几乎不可能去读和写那些只包含数字的机器语言。虽然汇编语言具有和机器语言相同的结构和命令集,但是编程人员可以使用助记符来代替数字。7.1IntroductiontoProgrammingLanguage第8页/共37页EachtypeofCPUhasitsownmachinelanguageandassemblylanguage,soanassemblylanguageprogramwrittenforonetypeofCPUwon’trunonanother.Intheearlydaysofprogramming,allprogramswerewritteninassemblylanguages.Now,mostprogramsarewritteninahigh-levellanguagesuchasFORTRANorC.Programmersstilluseassemblylanguageswhenspeedisessentialorwhentheyneedtoperformanoperationthatisn’tpossibleinahigh-levellanguage.每种类型的CPU都有它自身的机器语言和汇编语言,因此为一种CPU编写的汇编语言不能运行于其它的CPU之上。在程序设计的早期,所有的程序都是用汇编语言编写的。而现在,大部分程序都是用像FORTRAN或C这样的高级程序编写的。但当对运行速度要求很高,或执行一个高级语言无法处理的操作时,编程人员仍旧会选择汇编语言。7.1IntroductiontoProgrammingLanguage第9页/共37页Lyingabovehigh-levellanguagesarethosecalledfourth-generationlanguages(usuallyabbreviated4GL).4GLsarefarremovedfrommachinelanguagesandrepresenttheclassofcomputerlanguagesclosesttohumanlanguages.Most4GLsareusedtoaccessdatabases.Forexample,atypical4GLcommandis:FINDALLRECORDSWHERENAMEIS“SMITH”.位于高级语言之上的是第四代程序设计语言(简称4GL),它与机器语言差异更大,代表了与人类语言更为接近的那类计算机程序设计语言。大多数4GL被用于进行访问数据库的操作。例如,一条典型的4GL是:FINDALLRECORDSWHERENAMEIS“SMITH”(查找所有记录中姓名是“SMITH”的记录)。7.1IntroductiontoProgrammingLanguage第10页/共37页Morerecently,anewtypeofprogramminglanguagehasemergedthatsupportsObjectOrientedProgramming(OOP),includingC++,MicrosoftVisualC++,VisualFoxpro,andVisualJava.OOPisatypeofprogramminginwhichprogrammersdefinenotonlythedatatypeofadatastructure,butalsothetypesofoperations(functions,ormethods)thatcanbeappliedtothedatastructure.近来出现的新的程序设计语言,像C++,微软的VisualC++,VisualFoxpro,和VisualJava,他们都支持面向对象的程序设计(OOP)技术。OOP这种程序设计要求编程人员不仅要给出数据结构中的数据类型的定义,还需要给出作用在这些数据结构之上的操作(函数,或方法)的类型。7.1IntroductiontoProgrammingLanguage第11页/共37页Inthisway,thedatastructurebecomesanobjectthatincludesbothdataandfunctions.Inaddition,programmerscancreaterelationshipsbetweenoneobjectandanother.Forexample,objectscaninheritcharacteristicsfromotherobjects.Oneoftheprincipaladvantagesofobject-orientedprogrammingtechniquesoverproceduralprogrammingtechniquesisthattheyenableprogrammerstocreatemodulesthatdonotneedtobechangedwhenanewtypeofobjectisadded.这样,可使得数据结构成为一个既包含数据又包含函数的对象。此外,编程人员可以创建对象间的关系,例如,一个对象可以继承其它对象的一些特性。相对于过程式的程序设计技术,面向对象的程序设计技术的一个主要优点是:当创建一个新类型的对象时,已有的模块不需要发生改变。7.1IntroductiontoProgrammingLanguage第12页/共37页Aprogrammercansimplycreateanewobjectthatinheritsmanyofitsfeaturesfromexistingobjects.Thismakesobject-orientedprogramseasiertomodify.Toperformobject-orientedprogramming,oneneedsanobject-orientedprogramminglanguage(OOPL).C++andSmalltalkaretwoofthemorepopularlanguages,andtherearealsoobject-orientedversionsofPascal.编程人员可以很方便地创建一个新对象,使它的许多特征继承于已存在对象,这使得面向对象的程序更容易修改。为了运行面向对象的程序设计,需要一种面向对象的程序设计语言(OOPL)。C++和Smalltalk是其中最流行的两种语言,当然也有Pascal的面向对象的版本。7.1IntroductiontoProgrammingLanguage第13页/共37页Allhigh-levellanguageprogramsmustbetranslatedintomachinelanguagesothatthecomputercanunderstandit.Therearetwowaystodothis:compiletheprogramorinterprettheprogram.所有的高级语言程序只有在翻译成机器语言后,才能被计算机执行。翻译有两种方式:编译和解释。

7.1IntroductiontoProgrammingLanguage第14页/共37页Thequestionofwhichlanguageisbestisonethatconsumesalotoftimeandenergyamongcomputerprofessionals.Everylanguagehasitsstrengthsandweaknesses.Forexample,FORTRANisaparticularlygoodlanguageforprocessingnumericaldata,butitdoesnotlenditselfverywelltoorganizinglargeprograms.到底哪种语言最好是一个困扰业界专家很长时间和消耗他们很多精力的问题。每种语言都各有优劣,例如,像FORTRAN语言,适合于处理数值计算,但却不适合组织大规模的程序。7.1IntroductiontoProgrammingLanguage第15页/共37页Pascalisverygoodforwritingwell-structuredandreadableprograms,butitisnotasflexibleastheCprogramminglanguage.C++embodiespowerfulobject-orientedfeatures,butitiscomplexanddifficulttolearn.Thechoiceofwhichlanguagetousedependsonthetypeofcomputertheprogramistorunon,whatsortprogramitis,andtheexpertiseoftheprogrammer.Pascal语言是一种结构化的语言,程序可读性强,但却不具备C语言的灵活性。C++嵌入了功能强大的面向对象特性,但是它却复杂难学。具体选择使用哪一种语言依赖于程序运行的计算机类型,程序的种类,和编程人员的专长。7.1IntroductiontoProgrammingLanguage第16页/共37页Thetrendtowardhigher-levellanguages,initiatedinthe1950s,isstillcontinuing.Today,thereistalkaboutnaturallanguagecommunicationbetweenpeopleandcomputers.Thatis,toolsarebeingdevelopedtomakeitpossibleforpeopletoaddresscomputersinnormal,conversationallanguage.Bothwrittenandspokenversionofnaturallanguagesisinuse.However,agreatdealofdevelopmentaleffortremainsbeforetheselanguagesbecomecommoninbusinessapplications.

设计更高级的语言的趋势始于20世纪50年代并一直进行到了现在。如今,人们在探讨人与计算机之间进行自然语言的交流;也就是说,正在研制的工具使得人们可以用正常的、口语式的语言同计算机讲话,不论是书面的形式还是口头的形式。然而,要想这些语言能在商业广泛应用,还需要做很多努力。7.1IntroductiontoProgrammingLanguage第17页/共37页Object-orientedprogramming(OOP)isaprogramminglanguagemodelorganizedaround"objects"ratherthan"actions"anddataratherthanlogic.Historically,aprogramhasbeenviewedasalogicalprocedurethattakesinputdata,processesit,andproducesoutputdata.Theprogrammingchallengewasseenashowtowritethelogic,nothowtodefinethedata.面向对象的程序设计是一种以面向“对象”的,而不是“行为”的,面向数据而不是逻辑的方式组织的程序设计语言模式。曾经,程序被认为是接收输入数据、处理、产生输出数据的一个逻辑过程。7.2Object-orientedProgramming第18页/共37页Object-orientedprogrammingtakestheviewthatwhatwereallycareaboutaretheobjectswewanttomanipulateratherthanthelogicrequiredtomanipulatethem.Examplesofobjectsrangefromhumanbeings(describedbyname,address,andsoforth)tobuildingsandfloors(whosepropertiescanbedescribedandmanaged)downtothelittlewidgetsonyourcomputerdesktop(suchasbuttonsandscrollbars).编程的困难在于如何写出逻辑关系,而不是如何定义数据。而面向对象的程序设计认为,我们真正关心的是我们所能操作的对象而不是操作它们所要求的逻辑关系,比如说,从人(由姓名、地址,等等来描述)到建筑物和楼层(可由它的特征来描述和管理),再到你的计算机桌面上的小控件(像按钮和滚动块)。7.2Object-orientedProgramming第19页/共37页ThefirststepinOOPistoidentifyalltheobjectsyouwanttomanipulateandhowtheyrelatetoeachother,anexerciseoftenknownasdatamodeling.Onceyou'veidentifiedanobject,yougeneralizeitasaclassofobjects(thinkofPlato'sconceptofthe"ideal"chairthatstandsforallchairs)anddefinethekindofdataitcontainsandanylogicsequencesthatcanmanipulateit.面向对象的程序设计的第一步就是要确定你需要操作的所有实体和它们之间的联系,一个为人熟知的操作就是数据建模。一旦你定义了一个对象,你将它概括为一个对象的类(试想,柏拉图给出的“完美”椅子的概念代表了所有的椅子)并定义了这个类所包含的数据和所有可操作的逻辑顺序。7.2Object-orientedProgramming第20页/共37页Eachdistinctlogicsequenceisknownasamethod.Arealinstanceofaclassiscalled(nosurprisehere)an"object"or,insomeenvironments,an"instanceofaclass."Theobjectorclassinstanceiswhatyouruninthecomputer.Itsmethodsprovidecomputerinstructionsandtheclassobjectcharacteristicsproviderelevantdata.Youcommunicatewithobjects-andtheycommunicatewitheachother-withwell-definedinterfacescalledmessages.每一个明确的逻辑过程就叫做方法。一个类的示例(这里毫不奇怪地)叫做一个“对象”,有时也叫做“一个类的示例”。机器上运行的就是对象或类的示例。其中,方法给计算机提供指令,类和对象的特征提供相关的数据。你可以和对象交流,而对象之间通过定义好的接口,也称为消息,进行交流。7.2Object-orientedProgramming第21页/共37页Theconceptsandrulesusedinobject-orientedprogrammingprovidetheseimportantbenefits:面向对象的程序设计中的概念和规则具有下面这样一些重要的优点:Theconceptofadataclassmakesitpossibletodefinesubclassesofdataobjectsthatsharesomeorallofthemainclasscharacteristics.Calledinheritance,thispropertyofOOPforcesamorethoroughdataanalysis,reducesdevelopmenttime,andensuresmoreaccuratecoding.数据类的概念使得定义的子类可以部分地或全部地共享父类的特征。这称之为继承。OOP的这种特性要求必须深入的分析数据,减少研发的时间,确保更准确的编码。7.2Object-orientedProgramming第22页/共37页Sinceaclassdefinesonlythedataitneedstobeconcernedwith,whenaninstanceofthatclass(anobject)isrun,thecodewillnotbeabletoaccidentallyaccessotherprogramdata.Thischaracteristicofdatahidingprovidesgreatersystemsecurityandavoidsunintendeddatacorruption.由于一个类只需定义与之相关的数据,当这个类的一个实例(对象)运行时,它的代码不能突然去访问其它程序的数据。这种数据的隐藏性提供给系统更强的安全性,也避免了非故意的数据破坏。7.2Object-orientedProgramming第23页/共37页Thedefinitionofaclassisreuseablenotonlybytheprogramforwhichitisinitiallycreatedbutalsobyotherobject-orientedprograms(and,forthisreason,canbemoreeasilydistributedforuseinnetworks).一个类的定义不仅可为最初创建它的程序再使用,也可以被其它的面向对象程序使用(也正是这个原因,类适用于分布式网络)。Theconceptofdataclassesallowsaprogrammertocreateanynewdatatypethatisnotalreadydefinedinthelanguageitself.编程人员利用数据类的概念可以创建任何计算机语言中没有定义过的数据类型。7.2Object-orientedProgramming>>第24页/共37页Oneofthefirstobject-orientedcomputerlanguageswascalledSmalltalk.C++andJavaarethemostpopularobject-orientedlanguagestoday.TheJavaprogramminglanguageisdesignedespeciallyforuseindistributedapplicationsoncorporatenetworksandtheInternet.

Smalltalk是最早的面向对象的计算机语言之一,而如今最流行的面向对象语言是C++和Java。Java语言最适用于私网和因特网上的分布式应用。7.2Object-orientedProgramming第25页/共37页三、解环法这种方法适用于翻译“连环式”后置定语或定语从句,也就是当原文中的一个中心词(组)被若干个定语(从句)一环扣一环地修饰时,可先将中心词(组)译出,或把中心词(组)与靠近它的一个或两个后置定语(从句)译成汉语偏正词组,然后顺着“修饰环”依次翻译其余成分。采用这种方法译出的句子层次分明,脉络清楚。由于科技英语中“连环式”修饰语出现较多,所以“解环法”具有较大的实用价值。复杂定语(从句)的翻译技巧之二

第26页/共37页三、解环法例如:Aflightsimulatorisaperfectexampleofprogramsthatcreateavirtualreality,orcomputer-generated“reality”inwhichtheuserdosenotmerelywatchbutisabletoactuallyparticipate.飞行模拟器是创造虚拟现实的程序的一个完美例子,或者也可以叫它计算机生成的“现实”,在这个“现实”中,用户不仅能看,而且能实际参与。(比较:飞行模拟器是创造虚拟现实,或者也可以叫它计算机生成的,用户不仅能看,而且能实际参与的“现实”的程序的一个完美例子。)复杂定语(从句)的翻译技巧之二

第27页/共37页复杂定语(从句)的翻译技巧之二三、解环法再如:Object-orienteddatabasesstoreandmanipulatemorecomplexdatastructures,called“object”,whichareorganizedintohierarchicalclassesthatmayinheritpropertiesfromclasseshigherinthechain;thisdatabasestructureisthemostflexibleandadaptable.面向对象的数据库可以存储并处理更加复杂的数据结构,这种数据结构称为“对象”,“对象”可以按层次组成“类”,低层的“类”可以继承上层“类”的属性;这是一种最灵活,最具适应性的数据结构。(比较:面向对象的数据库可以存储并处理更加复杂的、称为“对象”的,可以按层次组成“类”的,低层的“类”可以继承上层“类”属性的数据结构;这是一种最灵活,最具适应性的数据结构。)第28页/共37页复杂定语(从句)的翻译技巧之二三、解环法在英语科技文献中,对于某些连环式修饰语,有时还需同时借助“先提后叙法”,才能使语句顺畅。例如:It(chapter2)providesnumeroussolutionsforprotectingproblemsassociatedwithanytypeofinstrumentsusingmicroprocessorsthatmustbeprotectedwhenvoltagesupplyfluctuates.此句属连环式修饰。由于各个修饰环扣得很紧——原文中,protectingproblems并非仅仅与associatedwith…instruments有关,(定语从句本身带有一个较长的状语)。第29页/共37页复杂定语(从句)的翻译技巧之二三、解环法因此,译成汉语时:为了使修饰成分紧扣修饰对象,既不宜直接译成偏正词组——这会造成“大肚子”句,见译文(1);也不宜用“解环法”法逐个翻译修饰环——这会导致修饰语与中心词关系松弛,见译文(2);此时可采用“解环法+先提后叙法”,也就是先译出一两个修饰环,再用“这样的”、“这样一些”等词语“扣”住中心词,最后叙述具体修饰内容。这样,不但句子修饰关系明确,而且行文较为流畅,见译文(3)。(1)第二章提供与使用当供电电压波动时必须加以保护的微处理器的任何类型仪器有关的保护问题的许多解决办法。(2)第二章提供与任何类型仪器有关的保护问题的许多保护办法,这类仪器使用微处理器,这些微处理器当供电电压波动时必须予以保护。(3)第二章提供解决某些保护问题的许多办法,这些保护问题与任何使用这样一些微处理器的仪器有关:当供电电压波动时时,必须予以保护。第30页/共37页复杂定语(从句)的翻译技巧之二三、解环法例.Thisisasoftwareofflightsimulatorrunningonpersonalcomputers,intendedprimarilyforcomputer-aidedinstructionwhichrequiresprovidingpracticenavigationandinstrumentsreadingwhileusersimmerseinthevirtualenvironment.这个句子中的修饰关系也是“连环式”。由于某些修饰环(如

of…和running…,intended…

和which…)扣得紧,加上which引导的定语从句本身含有一个

while引导的状语从句,所以此句也适于采用“解环法+先提后叙法”。全句可译为:这是一个运行于个人计算机的飞行模拟器软件,这种软件主要用于如下计算机辅助教学:当用户投入虚拟环境时,它必须提供导航和仪表读数。由此可见,翻译“连环式”修饰成分要因句制宜,灵活处理,不能只着眼于表面的修饰关系,还要考虑“修饰环”之间的紧密程度。通常,如果“修饰环”彼此关系较松,适于采用“解环法”;要是“扣”得很紧,则可采用“解环法+先提后叙法”。第31页/共37页四、句子结构调整法有时,原文句中一个中心词带有若干修饰成分,但:它们既不是纯“并列”头系,也不是规则的“连环”关系,而是“并列”中有“连环”(例1);或者“连环”中含不规则“修饰环”(例2);或者句中各有一个分别被“连环式”定语和“并列式”定语所修饰的中心词(例3);或者中心词的定语从句本身又含有其他修

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论