




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE404.BlockDiagramTheLabVIEWblockdiagramexcelsatconveyingsourcecode.Areallygooddiagramisenlightening,evenawe-inspiring,likeaworkofart.Acarelessdiagram,however,canappearasjumbledasabowlofspaghetti.Indeed,thesetwoextremesaredepictedbyMeticulousVIandSpaghettiVIinSomewhereinthemiddlebetweenartworkandspaghettiiswheremostapplicationsreside.Somedevelopershaveneatwiringpracticesbutlarge,flatdiagrams.Othershaveoverlymodulardiagramsthatdisguisethearchitecture.Stillothersprefervariablesoverdataflow.Many,manydevelopersskimpondocumentationtosavetime.Moreover,mostdiagramsarecharacterizedbytradeoffsbetweengoodstyleandshortcutsdeemednecessarytogetthejobdone.Theoveralloutcomeisacompromiseamongattractiveappearance,personalpreferences,andfunctionalperformance.4程序框图LabVIEW的程序框图长于源代码表述。一个真正好的程序是发人深省的,甚至是令人敬畏的,就是一件艺术品一样。而一个差的程序,看起来就像一碗意大利面条那样凌乱。事实上,这两种极端的情况就像第一章《风格的重要性》中MeticulousVI和SpaghettiVI所表现的那样。而大部分程序处于艺术品和意大利面条之间。一些程序开发者有连线整齐的习惯,但程序框图往往却大而宽泛。其他的一些程序开发者却过度使用模块化编程,就像自己在搭建筑一样。而仍有一些编程人员喜欢使用变量方式而非数据流方式。很多很多开发人员在文档上节省时间。此外,很多程序是在好的风格和节约时间两者之间取得平衡下为特征下完成工作的。总体结论就是在吸引人的程序外观,个人喜好和程序功能上取得折中。Theorem4.1GreatLabVIEWdiagramscanbeexpeditiouslydeveloped.Manydeveloperswrongfullyassumethatattractivediagramsrequirealeveloftoilthatisimpracticalforreal-worldapplicationsthathavetightdeadlines.Itseemsfasterandmoreproductivetoavoidgettingcaughtupindiagramaesthetics.Indeed,itispossibletoexpendexcessivetimeoptimizingtheappearanceofacomplexdiagram,andmostofusmustpleadguiltyfordoingthisonoccasion.However,itisalwaysmuchmoretimeconsuming,inthelongrun,todebugandmodifysloppycode.PerTheorem1.1,applyinggoodstylesignificantlyreducestimeandeffortthroughoutanapplication'slifecycle.Additionally,neatdevelopmentpracticesneednotbeoverlytimeconsuming.Ifyouknowthestylerulesandhowtoimplementthem,youeliminatethetoil.Thischapterpresentsstylerulesthatensureneatandorganizeddiagramsthatarepracticaltoimplementinrealapplicationswithtightdeadlines.Combinedwiththerulesinotherchapters,theyensurereadableandmaintainableLabVIEWsourcecode.Moreover,masteryofthesestylerulesmayleadtoawe-inspiringLabVIEWdiagrams.4.1我们能快速的开发优秀的LabVIEW程序大多数开发人员都错误认为吸引人的程序编写上受到许多束缚使开发进度变慢,而现实中程序开发都有时间限制。似乎快速开发程序的和程序具有美感是相矛盾的。事实上,多花些时间来优化复杂程序的外观是可能的,而我们大多数人则辩解到这样做会使我们内心不安。然而,长远看来,我们将在调试和修改代码上花费更多的时间。定理1.1指出,采取好的编程风格将在整个软件生命周期极大的减少我们花费的时间和精力。此外,好的程序开发习惯并不会多花费我们的时间。如果你知道什么才是好的风格所要遵循的规则和如何执行这些规则,你将会在程序开发中更加轻松。这一章提出的风格能确保我们实际应用中在规定时间内开发出整洁,结构清晰的程序。结合其他章节所讲述的规则,我们能开发出可读性好的,易于维护的LabView源代码。而且,遵守这些好的编程风格所要求的准则将可能会使我们开发出令人赞叹的LabView程序。4.1.LayoutThissectioncoversrulesforblockdiagramlayout,includinglayoutbasics,andsubVImodularization.Thefollowingrulespertaintothegenerallayoutoftheblockdiagram.4.1布局这一节包含程序框图的布局规则,包括布局的基本原理和子VI的模块化。下面的规则属于程序框图布局的基本知识Rule4.1Use1280x1024displayresolution规则4.1使用1280*1024的屏幕分辨率Thedisplayresolutionaffectsthevisibleareathedeveloperhastoworkwithandhowthediagramappearswhenopenedonagiventargetcomputer.ItisbeneficialtostandardizeononedisplayresolutionsothatthediagramwindowmaintainsaconsistentappearancewhenopenedonPCswithsimilardisplaycapabilities.Thehighertheresolutionsetting,thesmallerthediagramobjectsshrinkrelativetothescreensize,andthemorecodefitsononescreen.Afairlyhighresolutionisrecommendedtomaximizetheviewablediagramareawithoutstrainingyoureyes.TheLabVIEWdevelopmentenvironmentisdesignedforaminimum1024x768resolution.Aresolutionof1280x1024providesadditionalrealestatewhilemaintainingcompatibilitywithmainstreamPCdisplaytechnology.Avoidresolutionsmuchhigherthan1280x1024becausehigherresolutionsarelessuniversallysupported,andthelargerworkareapromoteslargerdiagramsandpotentiallylessmodularity.Also,dependingonthemonitorsize,veryhighresolutionsmaystrainyoureyes.AlthoughIhave20/20vision,severalyearsago,IwentthroughaphasewhereIworetintedprescriptionglassesduringLabVIEWdevelopment.Anadjustmenttotheresolutionsetting,alongwithgeneralimprovementsindisplaytechnology,eliminatedthisproblemforme.Todaymanycomputerssupportmultiplemonitors.ItisparticularlyusefultoutilizetwomonitorsforLabVIEWdevelopment.Thisallowsyoutodedicateonemonitortothefrontpanelandtheothermonitortotheblockdiagram,andhavebothwindowssimultaneouslyvisiblewithouthavingtonavigatebetweenthem.屏幕分辨率决定程序开发人员在开发程序时的可见区域和程序移植到用户计算机后的界面显示。因此,将程序分辨率统一是非常有好处的,那样应用程序在使用相同分辨率的PC上打开时窗口界面将保存一致。程序分辨率设置得越高,界面上的控件将根据屏幕大小相应的缩小,屏幕上也能容纳更多的程序代码。合适的屏幕分辨率是不仅要能使程序的可见区域最大化,而且不能让你的眼睛不舒服。LabView开发环境设定的最小程序分辨率为1024*768。与PC显示技术发展相适应的1280*1024的屏幕分辨率能提供更多的可视区域。不要采用高于1280*1024的分辨率,因为当前还不广泛支持如此高的分辨率,更大的工作区域也意味者程序框图更大,模块化程度降低。同时,取决于显示器的大小,如果过高的分辨率容易使你的眼睛疲劳。虽然几年前,我还有20/20的视力,但使用LabView开发环境一段时间后我不得不带上眼镜来矫正视力。要避免我同样的问题,需要随着显示技术的不断发展,调整到合适的屏幕分辨率。今天许多计算机都支持多显示器。在LabView开发环境采用两个显示器是非常有好处的。使用一个显示器来显示前面板,另外一个显示器来显示程序框图。这样就能同时看到这两个窗口,而不需要在前面板和程序框图之间进行切换。Rule4.2Leavethebackgroundcolorwhite规则4.2使用白色作为背景色Rule4.3Useahighobjectdensity规则4.3把对象尽量放密集些Rule4.4Limitthediagramsizetoonevisiblescreen,orlimitscrollingtoonedirection程序框图不要超过一个显示屏的范围,如果代码过多应使界面只能在一个方向上滑动。Donotcolorthediagrams.Leavethebackgroundofthediagram,andeverysubdiagramofeverystructure,defaultwhite.Dataflowmustbeeasytovisualize.Ahighdensityofobjectsisdesired,withoutcrowdingobjectstoocloseandcausingwiresandobjectstooverlap.Ingeneral,trytolimitthediagramsizetoonedisplayscreen.Insomesituations,itisdifficulttoworkwithinthisconstraint,suchasacomplexdiagramcontainingmultipleparallelloops.Inthiscase,organizethelargediagramsothatitmaybeviewedbyscrollinginonlyonedirection,ormodularizetheloopsintosubVIstoreducespace.Loop-subVIsarediscussedinAvoidlargediagramsthatrequirebothhorizontalandverticalscrollingbecausethisiscumbersometonavigate.不要给程序框图着色。界面的背景色和每个结构的子界面都默认为白色。数据流向必须非常容易识别。我们希望对象尽量布局紧凑,但同时不希望对象靠得太近引起对象和连线重叠。总之,尽量缩小程序框图大小使之能在一个屏幕显示出来。在某些情况下,比如说某些复杂的程序包含很多个并行循环,要满足这个限定非常困难。在这种情况下,调整程序框图,或者将一些循环变成子VI来减小所占背面板空间,使背面板仅在一个方向上滑动。循环-子VI将在第8章《样式设计》被讨。避免界面同时包含了水平和垂直滚动条,因为这样看起来很不方便。Figure4-1containstwofunctionallyequivalentimplementationsofaVIthatevaluatesacalibrationinterval.ThediagramofFigure4-1Aisoverlydenseandsloppy.Asyoucansee,severalofthefunctionsandwiresoverlap,andthediagramappearsconfusing.InFigure4-1B,thesameVIisrevisedforimprovedreadability.Thefunctionsareneatlyspaced,thewiringisclear,afewcommentsandenumerationsareincluded,andtheerrorclusterpropagatesthroughoutthediagram.TheimplementationofFigure4-1BismuchmorereadablethanFigure4-1A.Werevisitthisexampleveryshortly.图4-1包含了两个功能上相同的估计校准区间的vi。图4-1A过度紧凑且凌乱。正如你看到的那样,几个函数和连线重叠了,整个程序看起来让人费解。图4-1B,相同的VI经过改进后程序可读性提高了。函数之间整齐的被隔开,连线上也很清楚,并且包含了少量的注释和枚举常量,错误簇沿整个程序框图传递。图4-1B执行上的可读性远好于图4-1A。我们再读程序时将花费更少的时间。Figure4-1A.ThediagramforaVIthatevaluatesacalibrationintervalisoverlydenseandconfusing.[Viewfullsizeimage]图4-1ACalibrationIntervalVI程序框图过度紧凑和令人费解。Figure4-1B.AdifferentimplementationoftheCalibrationIntervalVIcontainsappropriatespacing,clearwiring,anddocumentation.图4-1B另一种方式实现的CalibrationIntervalVI,包含适当的间隙,清晰的连线和文档。[Viewfullsizeimage]Ifyourdiagramscommonlyextendbeyondonewindow,maximizedonamonitorwith1280x1024resolution,yoursourcecodeisnotsufficientlymodular.IftheNavigationWindowisintegraltoyourdevelopment,youdefinitelyneedmoresubVIs!如果你的程序在1280*1024的显示分辨率下超过了一个屏幕,那说明你的程序源代码模块化程度还不够。如果导航窗口在你的程序开发来中是完整的,你肯定需要将程序分散成更多的子VI以节省空间。Rule4.5CreateamultilayerhierarchyofsubVIsStriveforamodularityindexgreaterthan3.0规则4.5子VI采用多层次结构努力使模块化率超过3.0DevelopyourapplicationsasamultilayerhierarchyofsubVIsusingacombinationoftop-downandbottom-updesignanddevelopmenttechniques.TheVIHierarchyisviewedbyselectingView»VIHierarchy.DeselectIncludeVILib,IncludeGlobals,andIncludetypedeffromthetoolbartoremovetheseitemsfromthewindow,andviewonlythehierarchyofuserVIsthatyouprovided.Commongeometriesincludepyramid,diamond,andoval.Exceptforverysimpleapplications,theVIHierarchyshouldcontainmultiplerowsofsubVIsbelowthetop-levelVI.Inandrespectively.记住为每个子VI创建一个有含义的图标和相结合的描述。再怎么强调它的重要性都是不够的。这是我们最神圣的信条。图标和描述信息能帮助我们在调用这些子VI的程序时通过帮助窗口的文字识别这些子VI。这些描述迫使我们进行内聚性测试。如果你不能通过2到3句话总结子VI的功能,子VI可能包含了太多的子代码。图标和函数功能描述将在第五章《图标和连线端》和第9章《文档》分别作详细讨论。4.2.WiringThissectioncoversrulesforwiring,includingclearwiringtechniques,andclustermodularization.4.2连线这一章节涵盖了布线的规则,包括清除导线技术和簇的模块化。Rule4.11Minimizewirebends;eliminatekinksandloops规则4.11尽量使弯线更少:不要形成扭结和圈Thefewerbends,kinks,andloopsyourwireshave,themorefluidyourdiagramsappear.Therearemanualandautomaticmethodsofwireroutingandcleaning.Iprefermanualwireroutingbecausetheautomaticmethodsprioritizehorizontalterminalentriesandavoidingoverlaps,attheexpenseofcreatingextrabends.Tominimizethebends,itisnecessarytoroutewiresmanually.Autowireroutingcanbedisabledtemporarilyorforallnewwires.Todisableandenableautowireroutingon-the-fly,togglethe<A>keyatanytimeafteryouinitiateanewwire.Todisableautowireroutingforallnewwires,navigatetoTools»Options,selectBlockDiagramfromtheCategorylist,anddeselecttheEnableautowiringcheckbox.Mypreferenceistofirstconnectthewiresmanuallyandthenconsiderrepositioningnodesandindividualwiresegmentstominimizeoverlaps.Theresultisfewerbendsandoverlaps.Additionally,right-clickonanexistingwireandselectCleanUpWiretoautomaticallyreducekinks,loops,andbends.曲线,扭结,圈越少,程序流就越清晰。有手动和自动方式来连线和清除连线。我更喜欢手动方式来连线因为自动方式优先考虑水平接线端,并且已多余的曲线为代价来避免重叠。为了使曲线最少,必须手动为程序连线。为了不让所有新连线自动连线,打开Tools»Options,在类别中选择BlockDiagram,取消勾选启动自动连线单选框。我个人喜欢的方式是:首先手动连线,然后考虑重新安排节点和个别连线来减少重叠。这样做的好处是能让曲线和重叠最少。此外,在现有的连线上鼠标右击选择整理连线会自动减少扭结,圈和曲线。Rule4.12MaintainevenspacingofparallelwiresWhenpropagatingparallelwires,maintainconsistent,evenspacingbetweeneachnodeorbend.Therearetwousefultechniquesforensuringevenspacing.First,usesimilarconnectorpatternandterminalassignmentsforallsubVIsthatareintendedtobeusedtogether.Connectorpatternconventionsarecoveredin\l"ch05"Chapter5.Second,alignthenodeshorizontallybeforewiring.SimplyselectthenodesandchooseanyofthehorizontalalignmenttoolsfromtheAlignObjectsmenuonthetoolbar.InFigure4-4,adataloggingroutineisdevelopedusingseveralFileI/Ofunctionsthatcompriseadataflowsequence.Thefilerefnumanderrorclusterarepropagatedusingparallelwires.TheFileI/Ofunctionshavesimilarconnectorpatterns,whichhelpsfacilitateevenspacing.However,evenslightoffsetsinthehorizontalalignmentcausewirekinks.InFigure4-4A,thediagramisinitiatedbydroppingthefunctionsfromthepalettesontothediagram.InFigure4-4B,theBottomEdgesalignmenttoolsnapsthenodesintoperfecthorizontalalignment.Youcanalsodistributethenodeswithevenhorizontalgapusingthehorizontaldistributiontool.Inthisexample,anasymmetrichorizontalgapisdesiredtoprovideextraspacingwithintheWhileLoop.InFigure4-4C,clearwiringproceedswithevenverticalspacing,withoutkinksorbends.InFigure4-4D,thewiringiscompletedandthehorizontalgapsbetweennodesaremanuallyadjusted.规则4.12在平行连线保持适当的距离当平行连线传送数据时,在节点或曲线之间保存一致的,适当的距离。有两个有用的技巧来确保适当的空间。第一,为所有的将一起使用的子VI选择相同的接线端模式和端口分配。接线端模式的内容在第五章涉及。第二,在接线之前水平排列接线端。仅仅只需选择节后点并选用分布对象工具条中任何一个水平方向调整工具。在图4-4中,一个数据日志程序选用了几个文件I/O函数,其中包含数据流顺序。文件引用端和错误簇传递数据时选用平行连线。文件I/O函数采用相同的接线端模式,这有助于平行连线之间保持相等距离。但是,即使在水平方向很小的偏移也会导致曲线扭结。在图4-4A中,程序框图中开始时放置了函数选板上的几个函数。在图4-4B中,使用对齐对象工具栏中下边缘对齐将这些函数调整到合适的水平位置。你也可以用水平分布工具中的水平间距来调整这些节点。在这个例子,在while循环中要求为非对称水平间隔提供额外的空间。在图4-4C中,清楚的连线也确保了相等的垂直空间上,没有扭结和弯曲。在图4-4D,连线完成并且通过手动调整使节点之间水平间距相等。Figure4-4A.Adataloggingroutineconsistsofseveralfunctionscontainingsimilarconnectorpatternsandterminalassignments.图4-4A一个数据日志程序包含几个具有相同的接线端模式和端口分配的函数。[Viewfullsizeimage]Figure4-4B.ThefunctionsarealignedhorizontallyusingtheBottomEdgesalignmenttool.图4-4B中使用对齐对象工具栏中下边缘对齐函数在水平方向上对齐。[Viewfullsizeimage]Figure4-4C.Wiresforfilerefnumanderrorclusterproceedwithevenspacingandwithoutkinksorbends.图4-4C中.在文件引用和错误簇的连线为其提供了相等的间距,并且没有扭结和弯曲。[Viewfullsizeimage]Figure4-4D.Thewiringiscompletedandthehorizontalgapsbetweennodesaremanuallyadjusted.图4-4D连线完成并对节点间的水平间距进行手动调整。[Viewfullsizeimage]Rule4.13TunnelwiresthroughleftandrightbordersofstructuresRule4.14DonotwirethroughstructuresunnecessarilyTunnelwiresintostructuresthroughtheirleftborder,andoutofstructuresthroughtheirrightborder.Avoidtunnelingwiresthroughthetopandbottomborders.Alsoavoidpassingwiresthroughstructuresiftheyarenotutilizedwithinthestructure,unlesstheirpurposeisclearlylabeled.Itisparticularlyannoyingtoflipthroughmanyframesofamultiframestructure,suchasaCaseoranEventstructure,searchingforplaceswherethedatainthewireismodified.However,sometimesitisusefultopassafewsparewiresthroughaCasestructure,suchasthestatemachinedesignpatternsthatarediscussedin\l"ch08"Chapter8.Thispracticereducesmaintenancewhenadditionalwiresareneeded.BesuretoclearlylabelunusedwiresasUnused,orSpare.规则4.13隧道连线从结构的左边和右边穿过规则4.14在非必须的情况下,不要将连线穿过结构。隧道连线通过结构左侧边界进入结构,并从结构的右侧边界穿过结构。不要让隧道在结构的顶部或底部穿过。同样如果结构内部未使用到也不要让连线穿过结构,除非其目的是为了标示清楚。特别令人困苦的是浏览一个多帧结构的许多帧时,要去寻找那些在连线上被修改的数据,比如说条件结构或者是事件结构。然而,有时条件结构通过一些额外的连线线是非常有用的。比如说在第八章讨论的如状态机的设计模式。当这些额外连线需要时,这样做降低了程序的可维护性。必须清楚标示出那些不用的或多余的连线。Rule4.15NeverobstructtheviewofwiresandnodesAvoidoverlappingdiagramobjectsAvoidobstructingtheviewofwiresandnodesbyoverlappingthemonthediagram.Anoccasionalcrossoverofawireroutedhorizontallywithawireroutedverticallyisunavoidable.Forexample,sometimesitisnecessarytowiretheiterationterminalofaloopingstructure,normallylocatedatthebottomleftofthestructure,toalocationaboveandtotheright.Manyofthesesameloopshavewiresroutedhorizontallyacrosstheentirestructure,viaeithertunnelsorshiftregisters.Theerrorclusterisaprimeexample.Iftheiterationterminalistoremainonthebottomleft,theremaybenochoicebuttocrossoverthehorizontalwires.Theobstructionisminimizediftheverticalwireisroutedthroughalocationofminimumwiredensity,overlappingasfewwiresaspossible.Additionally,neveroverlapawirewithanobjectoranode.AwirerunningunderneathafunctionorsubVIresemblesaninputandoutputtothenode.规则4.15不要挡住连线和节点避免重叠程序框中的对象避免在程序框图中因重叠连线和节点而挡住它们。将偶尔交叉的连线改为横向和纵向连线是不可避免的。举例来说,有时通常位于循环结构的左下脚的周期端子必须连接到右上方的位置。许多这样相同的循环经由隧道或移位寄存器在水平方向连线穿过整个结构。错误簇就是一个典型例子。如果周期端子保留在左下脚,可能只有从水平连线穿过(形成交叉)。如果垂直线经过的是一个连线最少的地方,造成的阻塞是最小的,连线重叠的可能性也是最小的。此外,不要将连线和一个对象或节点重叠。连线在函数或子VI下面流动就像节点的输入和输出一样。Rule4.16Limitwirelengthssuchthatsourceanddestinationarevisibleononescreen规则4.16为了程序代码能够在一个屏幕显示,尽量缩短连线的长度。Rule4.17Neveruselocalandglobalvariablesforwiringconvenience规则4.17不要为了使连线方便而去使用局部和全局变量。Rule4.18LabellongwiresandwiresfromhiddensourceterminalsIdeally,thesourceanddestinationofeverywireshouldbereadilyvisiblewithoutscrollingthediagramwindow.However,thisisnotalwayspossible,evenifthediagramislimitedtoonescreen.Forexample,theterminalsmaybehiddenwithintheframesofamultiframestructure.Inthissituation,besuretolabelthewireintheframesorareaswherethesourceterminalisnotvisible.Whilelimitingwirelengthsisdesirable,longwiresarepreferredovernowires.Neveruselocalorglobalvariablesasamethodofreducingwireclutter.Variablesincreaseprocessingoverhead,memoryuse,andcomplexity.Moreover,variablesundermineLabVIEW'sdataflowprinciplesbyobscuringtheactualsourceofthedata.Whenvariablesarewrittenandreadfrommorethanonelocationonthediagram,it
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西南交通大学希望学院《全科医疗中的医患关系与沟通技巧》2023-2024学年第二学期期末试卷
- 蓬溪县2025年数学四下期末监测模拟试题含解析
- 天津滨海汽车工程职业学院《复变函数与常微分方程》2023-2024学年第一学期期末试卷
- 山东省东营市胜利第二中学2024-2025学年高三下学期第一次阶段测试语文试题含解析
- 江苏百校大联考2025年高三下学期起点调研测试英语试题含解析
- 内蒙古自治区鄂尔多斯市2024-2025学年初三下学期1月月考试题化学试题试卷含解析
- 山东省德州市武城县2024-2025学年三年级数学第二学期期末检测试题含解析
- 嵊州市2024-2025学年数学三下期末质量跟踪监视试题含解析
- 辽宁省大连经济技术开发区得胜高级中学2025届高三“零诊”考试生物试题含解析
- 山东交通学院《现代食品微生物学1》2023-2024学年第二学期期末试卷
- 创伤性休克患者的护理
- 初中学业水平考试的“一核二融三层四维”命题理论探析
- 心理咨询记录表10篇
- 数字经济学试题答案
- 创伤急救知识课件
- 专题13 统计与概率-【好题汇编】五年(2020-2024)高考数学真题分类汇编(含答案解析)
- 国家开放大学本科(非英语专业)学士学位英语统一考试样题
- GB/T 44273-2024水力发电工程运行管理规范
- DB65-T 4765-2024 农牧区标准化羊场建设规范
- 城轨行车课程设计
- 2024年南京市中考历史试题及答案
评论
0/150
提交评论