Nassi-Shneiderman图

✍ dations ◷ 2025-05-17 12:59:49 #计算机编程,图表

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指令,依表达式结果要从三个或三个以上的路径中选择一个时使用,此方块一般会有许多对应的选项和其对应的子程序。

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

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

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

相关

  • 支序分类支序分类学(英语:Cladistics)又称亲缘分支分类学,是一种生物分类的哲学,其指只依据演化树分支的顺序,而不参考形态上的相似性来排列物种。此一学派的主要贡献者一般认为是德国昆虫
  • 中央银行俄罗斯银行(俄语:Банк России)是俄罗斯的中央银行,亦称俄罗斯央行(俄语:ЦБ России)或俄联邦央行(俄语:ЦБ РФ),成立于1990年7月13日。它主管俄罗斯境内货币发行、
  • 富马酸亚铁延胡索酸亚铁(英语:Iron(II) fumarate,亦称为富马酸亚铁、富血铁、反丁烯二酸亚铁)是延胡索酸对应的铁的化合物,外观为红橙色粉末。过去曾作为膳食补充剂使用,用于补铁。化学式为C
  • 台北水道水源地台北水道水源地位于台湾台北市中正区思源街1号,国立台湾大学水源校区对面,原为中华民国三级古迹“台北水源地唧筒室”,2002年2月5日公告更名,并将观音山蓄水池、量水室、浑水抽
  • 德岛县德岛县(日语:徳島県/とくしまけん Tokushima ken */?),旧名阿波,是日本47个都道府县之一,位于四国岛东部,与兵库县的淡路岛隔鸣门海峡相望。这里海面陡然窄到只有1.3公里。由于潮
  • 四一九革命四·一九运动(朝鲜语:4·19 혁명/4·19 革命)是一场于1960年3月起由韩国中学、大学生和劳工领导的学运,当时由于韩国总统李承晚在第四任总统选举(朝鲜语:대한민국 제4대 대통령 선
  • 爆炸案2002年巴厘岛爆炸案是指2002年10月12日发生在印尼的旅游胜地巴厘岛库塔地区所发生恐怖攻击事件。该袭击是印尼历史死亡人数最多的恐怖袭击,共造成202人死亡(包括88名澳洲人和3
  • 小尾元政小尾 元政(日语:おび ゆきまさ;1978年9月22日-)是日本男性声优。所属经纪公司ガジェットリンク(日语:ガジェットリンク),北海道网走市出生。2000年,以电视动画‘女神候补生’的主角杰
  • 荣乙沣荣乙沣(1990年-),中国大陆男演员。出生于上海,年幼移居加拿大温哥华。2018年参演李克龙执导电影《新编宝莲灯》。
  • 阿布鲁齐莫利塞区阿布鲁齐莫利塞区(Abruzzi e Molise)是意大利过去的一个行政区,面积约16,600平方公里。在1963年被划分为阿布鲁佐与莫利塞。坐标:42°21′N 13°24′E / 42.35°N 13.4°E / 42.