[GSSY流程图], 一种新型的规范性流程图,源于PAD图,且易于在任何文本编辑器上绘画。
GSSY流程图说明:
=================
开始与结束
[程序名称/函数名称]
 |
 +== 外部输入参数/入口参数说明 √
 |
 +-- 处理1 √
 |
 +>> 出口返回 √
顺序处理
 |
 +-- 处理1
 |
 +-- 处理2
多路分支处理(select case, switch)
 |
 +EE 分支判断条件 -+- 结果1 -+-- 结果1处理1
 |                 |         |
 |                 |         +-- 结果1处理2
 |                 |
 |                 |
 |                 +- 结果2 -+-- 结果2处理1
 |                 |
 |                 |
 |                 +- 结果3 -+-- 结果3处理1
 |                           |
 |                           +-- 结果3处理2
 |
 |
 +-- 处理3
IF处理方式1(if …)
 |
 +<< 判断条件的肯定描述 -+-Y-+-- 是处理1
 |                           |
 |                           +-- 是处理2
 |
 +-- 处理3
IF处理方式2(if … else …)
 |
 +<< 判断条件的肯定描述 -+-Y-+-- 肯定处理1
 |                       |   |
 |                       |   +-- 肯定处理2
 |                       |
 |                       |
 |                       +-N-+-- 否定处理1
 |                           |
 |                           +-- 否定处理2
 |
 |
 +-- 处理3
IF处理方式3(if … elseif … )
 |
 +<< 判断条件1的肯定描述 -+-Y-+-- 条件1的处理1
 |                        |   |
 |                        |   +-- 条件1的处理2
 |                        |
 |                        |
 |                        +<< 判断条件2的肯定描述 -+-Y-+-- 非条件1且条件2的处理1
 |                                                 |   |
 |                                                 |   +-- 非条件1且条件2的处理2
 |                                                 |
 |                                                 |
 |                                                 +-N-+-- 非条件1且非条件2的处理1
 |                                                     |
 |                                                     +-- 非条件1且非条件2的处理2
 |
 |
 +-- 处理3
循环处理(while方式1)
 |
 +## 循环条件的肯定描述 -+-- 循环处理1
 |                       |
 |                       +-- 循环处理2
 |
 |
 +-- 处理3
循环处理(while方式2)
 |
 +## 循环标志 = True -+-- 循环处理1
 |                    |
 |                    +-- 循环处理2
 |                    |
 |                    +<< 退出循环的条件的肯定描述 -+-Y-+-- 循环标志 = False
 |
 |
 +-- 处理3
循环处理(do while方式)
 |
 +## TRUE -+-- 循环处理1
 |         |
 |         +-- 循环处理2
 |         |
 |         +(( 继续循环条件的肯定描述
 |
 |
 +-- 处理3
循环处理(do until方式)
 |
 +## TRUE -+-- 循环处理1
 |         |
 |         +-- 循环处理2
 |         |
 |         +)) 退出循环条件的肯定描述
 |
 |
 +-- 处理3
循环处理(for方式)
 |
 +## 循环n次 -+-- 循环处理1
 |            |
 |            +-- 循环处理2
 |
 |
 +-- 处理3
程序模块的出口处理
 |
 +-- 处理1
 |
 +<< 判断条件 -+-Y-+-- 处理2
 |             |
 |             +-N-+>> 出口返回1
 |
 |
 +-- 处理3
 |
 +>> 出口返回2
子程序/函数调用
 |
 +-- 处理1
 |
 +-- [调用的子程序/函数名称]
 |
 +-- 处理2
[子程序/函数名称]
(Note:子程序/函数功能或设计思路简要说明)
 |
 +== 入口参数1
 |
 +== 入口参数2
 |
 +-- 处理1
 |
 +-- 处理2
 |
 +>> 返回值/出口处理
符号综合说明:
==============
 "|"   为 垂直纵向的流程线
 "+"   为 交叉点
 "-"   为 水平横向的流程线
 "+--" 为 顺序执行语句
 "+==" 为 入口参数
 "+<<" 为 条件判断。相当于 if 语句
 "+>>" 为 返回/退出 子程序/函数。相当于 exit sub, exit function, return
 "+EE" 为 多路分支。相当于 switch, select case
 "+##" 为 循环。 相当于 while, do .. loop, for, scan .. end scan
 "+((" 为 继续循环。 相当于 loop, do .. while(), do .. loop()
 "+))" 为 退出循环。 相当于 exit for, exit do 
 "-+-Y-+--"  用在 "+<<" 之后,特定地表示条件成立的语句分支
 "-+-N-+--"  用在 "+<<" 之后,特定地表示条件不成立的语句分支
 "-+-结果的描述-+--"  用在 "+EE" 之后,特定地表示多路分支条件的各种结果的语句分支
 "[函数/子程序的名称]"  用在执行语句的描述中,或者一个流程图的最顶端, 表示一个函数/子程序的调用和开始
 "(解释/备注/详细说明/注释)"  可以用在任何位置, 作为注释
综合举例:
=========
说明: 下例中的 简要/详细操作描述的3种表达方式的最终程序是相同的.只是表达方式不同而已. 
      值得说明的是, 这种表达方式 与 子程序/函数的表达方式除了使用的符号不同外, 所表达的意思也是不同的, 子程序/函数的表达的是一种调用, 子程序/函数内部的语句不属于调用者本身, 而 这种表达方式 内部的语句本来就是属于调用者本身的(或许不能说是调用者).
一共有 A,B,C,D 四个处理顺序执行, 其中处理B由处理1,2 两个详细操作组成, 而处理C由处理3,4 两个详细操作组成.
============================================================
[简要/详细操作描述表达方式1]
 |
 +-- 处理A的详细操作描述
 |
 +-- [处理B的简要描述/名称]
 |
 +-- [处理C的简要描述/名称]
 |
 +-- 处理D的详细操作描述
 |
 +>> 结束 
[处理B的简要描述/名称]
 |
 +-- 处理1的详细操作描述
 |
 +-- 处理2的详细操作描述
 |
 +>> 返回
[处理C的简要描述/名称]
 |
 +-- 处理3的详细操作描述
 |
 +-- 处理4的详细操作描述
 |
 +>> 返回
============================================================
 
[简要/详细操作描述表达方式2]
 |
 +-- 处理A的详细操作描述
 |
 +-- 处理1的详细操作描述
 |
 +-- 处理2的详细操作描述
 |
 +-- 处理3的详细操作描述
 |
 +-- 处理4的详细操作描述
 |
 +-- 处理D的详细操作描述
 |
 +>> 结束 
============================================================
[简要/详细操作描述表达方式3]
 |
 +-- 处理A的详细操作描述
 |
 +-[处理B的简要描述/名称]-+-- 处理1的详细操作
 |                        |
 |                        +-- 处理2的详细操作
 |
 |
 +-[处理C的简要描述/名称]-+-- 处理3的详细操作
 |                        |
 |                        +-- 处理4的详细操作
 |
 |
 +-- 处理D的详细操作
 |
 +>> 结束 
============================================================
<全文完, GSSY 于 2003年1月构想, UDPX 于 2006年1月完善。>



 
											





 
	    

 
	

 
										
					
	