Nassi-Shneiderman图

✍ dations ◷ 2025-11-14 23:37:36 #计算机编程,图表

Nassi Shneiderman图,简称NS图或盒图,是结构化编程中的一种可视化建模(英语:Visual modeling)。NS图是在1972年由Isaac Nassi及其学生Ben Shneiderman提出。。NS图类似流程图,但所不同之处是NS图可以表示程序的结构。DIN 66261是NS图的相关标准。

依从上到下的设计(英语:top-down design),待处理的问题会分解成一些较小的副程序,最后只有简单的叙述及控制流程结构,NS图对应了上述的思维,利用嵌套的方块来表示副程序。NS图中没有对应Goto指令的表示,和结构化编程中不使用GOTO的理念一致。NS图的抽象层次接近结构化的代码,若程序重写,NS图就需重新绘制,不过NS图在简述程序及高端设计时相当方便。

NS图几乎是流程图的同构,任何的NS图都可以转换为流程图,而大部分的流程图也可以转换为NS图。其中只有像Goto指令或是C语言中针对循环的break及continue指令无法用NS图表示。

程序方块表示不需再分解的基本步骤,当流程进行到一程序方块时,会进行程序方块中的动作,然后移至下一个方块。

分支方块可分为二种,第一种是简单的真/假分支方块,对应if指令,会有二个对应的路径,根据条件是否成立,决定后续运行的程序。

第二种是多重分支方块,当使用类似C语言的switch指令,依表达式结果要从三个或三个以上的路径中选择一个时使用,此方块一般会有许多对应的选项和其对应的子程序。

测试循环方块允许程序运行一个或一组特定程序,一直到一特定条件满足为止。测试循环方块可分为二部分:左侧长条状部分和方块上方(或下方的)的测试条件部分相连辺,测试循环方块内部的方块则是循环中可能要运行多次的程序。

测试循环方块可分为二种:先测试的循环方块及后测试的循环方块。二者的差异是条件判断次序的先后。在先测试的循环方块中,在运行循环前会先判断特定条件是否成立,若不成立,才运行循环内的程序,之后再重新判断条件是否成立,若不成立,再运行循环内的程序……,只要特定条件成立,就结束循环内的程序,继续运行后续的程序。由于在循环开始时就判断条件是否成立,有可能在循环内程序完全未运行过的情形下就结束循环,继续运行后续程序。

后测试的循环方块会先运行一次循环内的程序,之后判断特定条件是否成立,若不成立,才运行循环内的程序……。后测试的循环方块中,循环内的程序至少会被运行一次。

相关

  • 人祭人祭(英语:human sacrifice)是一种古代宗教仪式(祭祀),即用人作为祭品来祭祀神灵,与它相似的仪式有动物祭(英语:Animal sacrifice)。在整个人类史上,各种文明均发生过用活人作为牲礼的
  • 糖化糖化(英语:glycation)是在不受酶的控制下,蛋白质或脂质分子上附加糖类分子(如果糖或葡萄糖)的过程。所有的血糖都是还原性分子。非酶糖基化可发生在体内(endogenous glycation),也
  • 伊邪那岐板块伊邪那岐板块是一个大洋型的古板块,现在已经全部消减于北美洲板块之下。伊邪那岐板块之名来自日本神话中的开天辟地之祖伊邪那岐。该神的名称来自于古日语,在《古事记》中用汉
  • 分类测试统计分类是机器学习非常重要的一个组成部分,它的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。分类是监督学习的一个实例,根据已知训练集提供的样本,通
  • 十三面体在几何学中,十三面体(英语:Tridecahedron)是指由十三个面组成的多面体。十三面体有许多不同的拓朴形式,例如十一角柱(英语:Hendecagonal_prism)、十二角锥,但不包含正多面体,因为找不
  • 央企中央管理企业,通称中央企业,简称央企,是指由中华人民共和国国务院(即中央人民政府)或其授权的财政部、国务院国有资产监督管理委员会等机构代表国务院履行出资人职责的全民所有制
  • 巴斯特·基顿约瑟夫·弗兰克·“巴斯特”·基顿(英语:Buster Keaton,1895年10月4日-1966年2月1日) 是一名美国演员、喜剧演员,电影导演、制片人、编剧和特技演员。他以其无声电影而闻名于世,同
  • 凯奥克他达区凯奥克他达区(缅甸语:ကျောက်တံတားမြို့နယ်;;英语:Kyauktada Township)为缅甸仰光省仰光市的镇区。2014年人口29,853人,区域面积0.70平方公里。凯奥克他达区下分
  • 何士祁何士祁,字仲景,号竹芗,浙江山阴县(今浙江绍兴市)人,清朝政治人物。道光二年(1822年)壬午恩科进士。任元和知县。道光十二年(1832年)擢任川沙厅事,创纂《川沙厅志》。咸丰元年(1851年)接替
  • 粒子群优化粒子群优化(Particle Swarm Optimization, PSO),又称微粒群算法,是由 J. Kennedy 和 R. C. Eberhart 等于1995年开发的一种演化计算技术,来源于对一个简化社会模型的模拟。其中“