c++英语文献.docx
- 文档编号:18615972
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:20
- 大小:30.68KB
c++英语文献.docx
《c++英语文献.docx》由会员分享,可在线阅读,更多相关《c++英语文献.docx(20页珍藏版)》请在冰点文库上搜索。
c++英语文献
TheC++DesignRationale
C++isdesignedtobeanextensibleplatformforrapidlydevelopingprogramanalysistools.SeveralfeaturesofC++facilitatethis:
Byconvention,C++writteninlowercaselettersrefersjusttotheprogramthatabstractsdatafromaC++program.CIA++writtenincapitallettersreferstothesystemmadeofthatabstractorandallofthetoolsthatusethedatabaseitgenerates.
Entitiesincludeles,macros,types,functionsandvariables.
SeparationofInformationExtractionandPresentation:
Theprocessofextractinginformationfromaprogramandtheprocessofpresentingthatinformationshouldbeseparate.ThiseliminatestheneedforeachC++analysistooltoduplicatetheparsingprocessandallowsC++toolstosharetheinformationandpresentitindifferentways.AsimilardoctrinewasdevelopedintheInterlispproject.Unfortunately,manyCandC++toolstodaystillviolatethisbasicprinciple.
AWell-ConceivedConceptualModel:
Aconceptualmodelbasedontheentity-relationshipmodelwasdesignedtodescribetheentities,attributes,andrelationshipsinC++pro-grams.Themodelservesasanaccuratehighlevelspecificationforthecontentsoftheprogramdatabase.
RelationalDatabase:
Tosupportreuse,C++storesabstractedinformationintheformofarelationaldatabase.Thismakesitpossibleforthatinformationtobeaccessedbyawidevarietyofexistingdatabasequerysystems.
IncrementalDatabaseConstruction:
C++buildsandmaintainsaprogramdatabaseforlargesystemsefficientlybecauseitallowsincrementalupdatesofadatabase.WhenasetofC++sourcelesisupdated,onlythatportionhastobereabstractedtoupdatethedatabase.
ThesebasicdesignprinciplesgivetoolsbasedonC++anadvantageovermanytraditionaldevelopmenttools,whichusuallymergetheinformationextractionandpresentationprocessesinasingletoolanddonotsharetheinformationwithothertools.
TheCprogramdatabasegeneratedbyChashadmanynewCtoolsdevelopedontopofit.Thesetoolsweredevelopedinamatterofdaysbyusingthecommondatabase,butdifferentapproaches.Sometoolswerewrittenasawkorkshscriptsthatcalldatabasequerycommands.OthersareCprogramsthatcallaquerylibrary.OtherapplicationshavebeenwrittenthatuseINGRESorDataSharequeriestoextractinformationfromtheCprogramdatabase.WithminorchangestoadjusttothedifferentformatoftheC++programdatabase,thesetoolscanbeappliedtoC++programs.Manynewtoolscanbedevelopedinashortperiodoftimebysharingthewellstructuredinformationinthedatabase.ThismakesitpossibletoofferC++programmersahigherleveloftoolssupportthanhasbeenpossibleuptonow.
OurconceptualmodelforaC++programdatabasecontainstheinformationtoanswerawidevarietyofqueries,including
whatistheinheritancehierarchyofthisclass?
whatareallthepublic,inheritedmembersofthisclass?
whereareallthereferencestothisclassmember?
whereareallthedeclarationsofthisoverloadedfunction?
THELASERRANGEFINDER
Thisinventionrelatestoarangingmethodandapparatusformeasuringthedistancebetweentheapparatusandatargetbyemployingthelaserimpulsetransittime(timeofflight)principle.Itsimplifiesthedesignoftherangingapparatusandexecutesefficaciouslybyusingdigitallyprogrammabledelaygenerators(DPDG)initsprocessingunit.TheresolutionoftherangingapparatuscanbeeasilyupgradedbyserialarrangementofDPDGs.
Alaserrangingapparatusemploysamodulatedlasersignalformeasuringthedistancebetweentherangingapparatusandatarget,wherebythetransittimeofthelasersignalfromtherangingapparatustothetargetandbackagainisdetermined.ThetimedifferenceT,i.e.time-of-flight,betweenthetransmittingofthelasersignalandthereceiptofthesignalreflectedbythetarget,isadirectmeasureofthedistanceDtobemeasured.However,thelasersignalistransmittedatthespeedoflight;therefore,apreciserangingrequires,achangeinthedistancetotargetbyfifteencentimetercorrespondstoachangeintimedifferenceofonlyonenanosecond.
Inthepriorart,therearesomemethodstotransformthemeasuredvaluesinordertoobtaintherequiredtimeresolutionandcalculatethetime-of-flight.Thesemethods,eitherstretchortransformitintoanothermeasurablevaluesuchasavoltage,relyonagreatquantityofpreciseelectroniccomponents,increasethecomplexityofthecircuit.Theaccuracyofthesemethodsiseasilydegradedbytemperatureaffects.Methodsofcalculatingthephasedifferentbetweentheelectroniccircuitmorecomplicatedandtakealongertimetoperform.
Generally,aspecificrangingmethodandapparatuslimitstherangeandresolutionobtainabletherewith.Thatmeans,itisalmostimpossibletochangethembyjustmodifyingapartofthecircuit.
Object-OrientationandC++
C++isjustoneofmanyprogramminglanguagesinusetoday.Whyaretheresomanylanguages?
Whydonewonesappeareveryfewyears?
Programminglanguageshaveevolvedtohelpprogrammerseasethetransitionfromdesigntoimplementation.
Thefirstprogramminglanguageswereverydependentontheunderlyingmachinearchitecture.Writingprogramsatthislevelofdetailisverycumbersome.Justashardwareengineerslearnedhowtobuildcomputersystemsoutofothercomponents,languagedesignersalsorealizedthatprogramscouldbewrittenatamuchhigherlevel,therebyshieldingtheprogrammerfromthedetailsoftheunderlyingmachine.
Whyaretheresuchalargenumberofhigh-levelprogramminglanguages?
Therearelanguagesforaccessinglargeinventorydatabases,formattingfinancialreports,controllingrobotsonthefactoryfloor,processinglists,controllingsatellitesinrealtime,simulatinganuclearreactor,predictingchangingatmosphericconditions,playingchess,anddrawingcircuitboards.Eachoftheseproblemsrequiresdifferentsetsofdatastructuresandalgorithms.Programminglanguagesaretoolstohelpussolveproblems.However,thereisnotoneprogramminglanguagethatisbestforeverytypeofproblem.Newprogramminglanguagesareoftendevelopedtoprovidebettertoolsforsolvingaparticularclassofproblems.Otherlanguagesareintendedtobeusefulforavarietyofproblemdomainsandaremoregeneralpurpose.
Eachprogramminglanguageimpartsaparticularprogrammingstyleordesignphilosophyonitsprogrammers.Withthemultitudeofprogramminglanguagesavailabletoday,anumberofsuchdesignphilosophieshaveemerged.Thesedesignphilosophies,calledprogrammingparadigms,helpustothinkaboutproblemsandformulatesolutions.
SoftwareDesignthroughParadigms
Whendesigningsmallcomputerprogramsorlargesoftwaresystems,weoftenhaveamentalmodeloftheproblemwearetryingtosolve.Howdowedeviseamentalmodelofasoftwaresystem?
Programmingparadigmsoffermanydifferentwaysofdesigningandthinkingaboutsoftwaresystems.Aparadigmcanbethoughtofasamentalmodelorasaframeworkfordesigninganddescribingasoftwaresystem'sstructure.Themodelhelpsusthinkaboutandformulatesolutions.
Wecanusethementalmodelofaparadigmindependentlyfromtheprogramminglanguagechosenforimplementation.However,whenthechosenlanguageprovidesconstructsandmechanismsthataresimilartothosethatarefoundintheparadigm,theimplementationwillbemorestraightforward.Usually,thereareseverallanguagesthatbelongtoaparadigm.Forthisreason,aprogrammingparadigmisalsoconsideredaclassoflanguages.
Alanguagedoesnothavetofitintojustoneparadigm.Moreoften,languagesprovidefeaturesorcharacteristicsfromseveralparadigms.Hybridlanguages,suchasC++,combinecharacteristicsfromtwoormoreparadigms.C++includescharacteristicsfromtheimperativeandproceduralparadigms--justlikeitspredecessorlanguage,C--andtheobject-orientedparadigm.
Theimperativeparadigmischaracterizedbyanabstractmodelofacomputerwithalargememorystore.ThisistheclassicvonNeumannmodelofcomputerarchitecture.Computations,whichconsistofasequenceofcommands,arestoredasencodingwithinthestore.Commandsenablethemachinetofindsolutionsusingassignmenttomodifythestore,variablestoreadthestore,arithmeticandlogictoevaluateexpressions,andconditionalbranchingtocontroltheflowofexecution.
Theproceduralparadigmincludestheimperativeparadigm,butextendsitwithanabstractionmechanismforgeneralizingcommandsandexpressionsintoprocedures.Parameters,whichareessentiallyaliasesforaportionofthestore,werealsointroducedbythisparadigm.Otherfeaturesincludeiteration,recursion,andselection.Mostmainstreamsprogrammingtodayisdoneinaprocedurallanguage.
Theproceduralparadigmwasthefirstparadigmtointroducethenotionofabstractionintoprogramdesign.Thepurposeofabstractioninprogrammingistoseparatebehaviorfromimplementation.Proceduresareaformofabstraction.Theprocedureperformssometaskorfunction.Otherpartsoftheprogramcalltheprocedure,knowingthatitwillperformthetaskcorrectlyandefficiently,butwithoutknowingexactlyhowtheprocedureisimplemented.
DATAABSTRACTIONisconcernedwithseparatingthebehaviorofadataobjectfromitsrepresentationorimplementation.Forexample,astackcontainstheoperationsPush,Pop,andIsEmpty.Astackobjectprovidesuserswiththeseoperations,butdoesnotrevealhowthestackisactuallyimplemented.Thestackcouldbeimplementedusinganarrayoralist.Usersofthestackobjectdonotcarehowthestackisimplemented,onlythatitperformstheaboveoperationsc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 英语 文献
![提示](https://static.bingdoc.com/images/bang_tan.gif)