switch对应的流程图
switch语句
if语句只能处理从两者间选择之一,当要实现几种可能之一时,就要用if...elseif甚至多重的嵌套if来实现,当分支较多时,程序变得复杂冗长,可读性降低。C语言提供了switch开关语句专门处理多路分支的情形,使程序变得简洁。
switch语句的一般格式为:
switch<表达式>
case常量表达式1:语句序列1;
break;
case常量表达式2:语句序列2;
break;
??
case常量表达式n:语句n;
break;
default:语句n+1;
其中常量表达式的值必须是整型,字符型或者枚举类型,各语句序列答应有多条语句,不需要按复合语句处理,若语句序列i为空,则对应的break语句可去掉。图3-7是switch语句的流程图。
非凡情况下,假如switch表达式的多个值都需要执行相同的语句,可以采用下面的格式:
switch(i)
{
case1:
case2:
case3:语句1;
break;
case4:
case5:语句2;
break;
default:语句3;
}
当整型变量i的值为1、2或3时,执行语句1,当i的值为4或5时,执行语句2,否则,执行
语句3。
流程图-ns图-pad图-pdl-hipo综述
流程图、N-S图、PAD图、判定表、PDL、HIPO图 程序流程图 程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。但流程图也存在一些严重的缺点。例如流程图所使用的符号不够规范,常常使用一些习惯性用法。特别是表示程序控制流程的箭头可以不受任何约束,随意转移控制。这些现象显然是与软件工程化的要求相背离的。为了消除这些缺点,应对流程图所使用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。例如,为使用流程图描述结构化程序,必须限制流程图只能使用图3.25所给出的五种基本控制结构。 图4.3 流程图的基本控制结构 任何复杂的程序流程图都应由这五种基本控制结构组合或嵌套而成。作为上述五种控制结构相互组合和嵌套的实例,图示给出一个程序的流程图。图中增加了一些虚线构成的框,目的是便于理解控制结构的嵌套关系。显然,这个流程图所描述的程序是结构化的。
图4.4流程图的基本控制结构 N-S图 Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。为表示五种基本控制结构,在N-S图中规定了五种图形构件。参看图4.5。 为说明N-S图的使用,仍用图4.4给出的实例,将它用如图4.6所示的N-S图表示。 如前所述,任何一个N-S图,都是前面介绍的五种基本控制结构相互组合与嵌套的结果。当问题很复杂时,N-S图可能很大。
图4.5 N-S图的五种基本控制结构 图4.6 N-S图的实例 PAD PAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。现在已为ISO认可。 PAD也设置了五种基本控制结构的图式,并允许递归使用。 图4.7 PAD的基本控制结构 做为PAD应用的实例,图4.8给出了图4.4程序的PAD表示。PAD所描述程序的层次关系表现在纵线上。每条纵线表示了一个层次。把PAD图从左到右展开。随着程序层次的增加,PAD逐渐向右展开。 PAD的执行顺序从最左主干线的上端的结点开始,自上而下依次执行。每遇到判断或循环,就自左而右进入下一层,从表示下一层的纵线上端开始执行,直到该纵线下端,再返回上一层的纵线的转入处。如此继续,直到执行到主干线的下端为止。
11个流程图的说明
11个流程图的说明 1)以下11个流程图中的Forwarder指契约承运人(NVOCC或“国际货代”),Carrier指实际承运人(船公司或陆,空运承运人),Shipper指实际发货人,Consignee(CNEE)指实际收货人,Forwarder’s agent与Carrier’s agent分别指Forwarder/NVOCC与Carrier于目的地的代理(Forwarder/NVOCC’s Agent at Place of Delivery or at Destination or at Port of Discharge) 2)F’s agent指Forwarder/NVOCC’s agent,C’s agent指Carrier’s agent,shpr 指shipper,CNEE指consignee。T/R 指电放信(英语表达有两个:TELEX RELEASE LETTER或SURRENDERED LETTER)或电放提单(SURRENDERED B/L) 3)若贸易的term of payment(付款条件)为L/C,则图中“bank in export country 出口地银行”指Negotiating Bank(议付行),“bank in import country进口地银行”指Issuing Bank(= Opening Bank)开证行;若为Collection(托收),“出口地银行”指Remitting Bank(托收银行),“进口地银行”指Collecting Bank(代收银行)。因银行一般不接受电放信,以下11个流程图中若采取电放,则不通过银行。 4)为便于读懂下面的图,了解如下知识: i) Shipper 不与Carrier打交道 ii)HB/L 源于Forwarder/NVOCC止于Forwarder/NVOCC iii) MB/L 源于Carrier止于Carrier iv) D/O源于Carrier,止于CY 5)为便于代理人知悉该票货的详情,通常Forwarder/NVOCC会给其代理(F’s Agent)寄去或e-mail去H-B/L的COPY件(副本),Carrier会给其代理(C’s Agent)寄去或e-mail去M-B/L的COPY件(副本) 6)于H-B/L上通常有Delivery Agent一栏,其字面意思为“交货代理”,实指货代于卸港或交货地之代理,其主要职责是:i)负责放货:将货交给CNEE,ii) C.C.(倒付运费)下若得到Forwarder委托,为其代收运费。但在M-B/L上通常无此栏。 )以下11H-B/L的流程,空心箭头 ()为D/O的流程,单线箭头()为M-B/L的流程,双箭头()为的流程。 (一)既出H-B/L,又出M-B/L,同时使用C’s Agent&F’s Agent
PID流程图图例注解
PID流程图图例注解: 交流接触器:触点表示方式: NC:normal close 正常状态关常闭触点 NO:normal open 正常状态开常开触点 阀门定位器:触点表示方式:(主要出现在电气原理图中) TSO: 力矩开关常开触点:torque switch open TSC: 力矩开关常闭触点:torque switch close LSO: 行程开关:locational switch open LSC: 行程开关:locational switch close LSF: 闪光开关:locational switch flas 阀门定位器:PID图纸中阀门附近标的符号:(主要出现在 PID图纸上) FC: fault colse 故障时阀门关闭 FO: fault open 故障时阀门打开 TSO:tight shut off 紧急切断阀 GSO:control valve with limit switch full open (阀门全开位置反馈,后台显示并记录) GSC:control valve with limit switch full close (阀门全关位置反馈,后台显示并记录) GCO: 属于GSC与GSO的合并(阀门全开/全关位置反馈)
ZSC:position switch close 阀门全关指示(后台记录并显示) ZSO:position switch open 阀门全开指示(后台记录并显示) LC:locational close 阀门现场关闭指示(现场指示,不远传。) LO:locational open 阀门现场开启指示(现场指示,不远传。) CSC:car seal close 表示安全阀:铅封关(未经允许严禁开启阀门,铅封状态为关闭) CSO:car seal open 表示安全阀:铅封开(未经允许严禁关闭阀门,安全阀铅封状态为开启) 控制符号PID图纸正菱形+ US:联锁开关控制,此级别的联锁在DCS系统中实现 UZ:联锁开关控制,此级别的联锁在ESD系统中实现(SIS 系统) KS:开关量顺序控制此控制在DCS系统中实现 测量符号PID图纸 a.温度测量符号: TI:temperature instruction 温度指示(带现场指示,温度传感器)
流程图-ns图-pad图
流程图、N-S图、PAD图、判定表、PDL、HIPO 图 程序流程图 程序流程图独立于任何一种程序设计语言,比较直观、清晰,易于学习掌握。但流程图也存在一些严重的缺点。例如流程图所使用的符号不够规范,常常使用一些习惯性用法。特别是表示程序控制流程的箭头可以不受任何约束,随意转移控制。这些现象显然是与软件工程化的要求相背离的。为了消除这些缺点,应对流程图所使用的符号做出严格的定义,不允许人们随心所欲地画出各种不规范的流程图。例如,为使用流程图描述结构化程序,必须限制流程图只能使用图所给出的五种基本控制结构。 图流程图的基本控制结构 任何复杂的程序流程图都应由这五种基本控制结构组合或嵌套而成。作为上述五种控制结构相互组合和嵌套的实例,图示给出一个程序的流程图。图中增加了一些虚线构成的框,目的是便于理解控制结构的嵌套关系。显然,这个流程图所描述的程序是结构化的。
图流程图的基本控制结构 N-S图 Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也叫做N-S图。为表示五种基本控制结构,在N-S图中规定了五种图形构件。参看图。 为说明N-S图的使用,仍用图给出的实例,将它用如图所示的N-S图表示。 如前所述,任何一个N-S图,都是前面介绍的五种基本控制结构相互组合与嵌套的结果。当问题很复杂时,N-S图可能很大。
图 N-S图的五种基本控制结构 图 N-S图的实例 PAD PAD是Problem Analysis Diagram的缩写,它是日本日立公司提出,由程序流程图演化来的,用结构化程序设计思想表现程序逻辑结构的图形工具。现在已为ISO认可。 PAD也设置了五种基本控制结构的图式,并允许递归使用。 图 PAD的基本控制结构 做为PAD应用的实例,图给出了图程序的PAD表示。PAD所描述程序的层次关系表现在纵线上。每条纵线表示了一个层次。把PAD图从左到右展开。随着程序层次的增加,PAD逐渐向右展开。 PAD的执行顺序从最左主干线的上端的结点开始,自上而下依次执行。每遇到判断或循环,就自左而右进入下一层,从表示下一层的纵线上端开始执行,直到该纵线下端,再返回上一层的纵线的转入处。如此继续,直到执行到主干线的下端为止。
V-switch部署方式分类及细节说明
V-swich部署方式 当一台物理主机通过VMware划分为多个虚拟机后,需要通过主机内的一台虚拟交换机,即V-switch将虚拟机和物理网卡联系起来。V-switch的部署方式有三种,包括VSS、VDS和Nexus1000V。 VSS:Virtual Standard Switch,是V-switch的默认部署方式。每台物理机有一台VSS模式的V-switch,通过端口组port-group将虚拟机和物理机的物理网卡联系起来。虚拟机的网卡分配到一个port-group,每一个port-group可以指定一个vlan(port-group和vlan是一一对应的),port-group可以指定绑几个物理端口,例如Eth0和Eth1,这样,就说明虚拟机的流量实际是通过哪个或哪几个端口出去的;虚拟机实际使用的物理端口,也就是该VM虚拟机对应的GP绑定的物理端口。绑定的这几个物理端口,可以设定流量是如何使用这些端口的,可以是主、备,也可以通过IP、mac等负载均衡,或某种Hash方式。 即VM—port-group—EthX,EthY—冗余或LB方式。 VSS的优点在于配置相对简单,每个物理机一个V-switch,是比较稳定的方式。但是如果物理主机的数量比较多,则V-switch的数量也会很多。而且如果虚拟机(例如Vlan33)在不同的物理机之间飘移,则另一个物理机的V-switch也要有一个port-group加入Vlan33。当飘移范围较大时,则每个物理机的V-switch都会有很多的port-group配置。 VDS:Virtual Distribute Switch,和VSS模式的区别在于,多个物理机(目前限制在32个)共同使用给一个V-switch,这样当一个虚拟机在主机间漂移时,一个port-group就可以了。另外,VDS的优势还包括可以做SPAN,支持netflow等。但是缺点在于,虽然管理节点减少了,但是配置相对VSS复杂一些。 Nexus1000 V:Nexus1000V是Cisco的软件,作为VDS的V-switch部署方式。可以支持R-SPAN。当Access switch为cisco Nexus5000时,可以直接和5500进行FEX,而无需2000。另外,将V-switch由VM admin管理转为由Network admin管理,将网络的管理层面由Access switch 延伸到了服务器虚拟机内部。