Nassi-Shneiderman图

✍ dations ◷ 2025-07-06 19:34:24 #计算机编程,图表

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

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

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

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

相关

  • 格罗宁根大学格罗宁根大学(荷兰语:Rijksuniversiteit Groningen)位于荷兰格罗宁根,始建于1614年,是荷兰历史第二悠久和第三大大学,学生约三万人。自17世纪建校以来,学校吸引了大量的外国留学生
  • 圣雅各之路圣雅各之路或圣地亚哥朝圣之路(西班牙语:El Camino de Santiago)是前往天主教的圣地之一的西班牙北部城市圣地亚哥-德孔波斯特拉的朝圣之路。主要指从法国各地经由比利牛斯山通
  • 香槟液泡香槟液泡(英语:Glistening)是发生于软性可折叠式的人工水晶体在白内障手术植入眼内一段时间后 ,镜片内容易产生细小液泡的一种现象 ,这些细小液泡称为之香槟液泡。可能原因很多
  • 商业名称商业名称(trade name, trading name, or business name),又称为商号、交易名称或营业名称等,是企业在从事商业活动时所使用的名称,功能类似于品牌。可指企业名、商品名或商标名等
  • 竹荚鱼日本竹䇲鱼,又称真鲹或池鱼,台湾俗名为巴拢、瓜仔鱼、竹荚鱼,为辐鳍鱼纲鲈形目鲈亚目鲹科的其中一个种,被IUCN列为近危保育类动物。本鱼分布于西北太平洋区,包括中国东海、黄海、
  • 斯蒂芬·A·道格拉斯史蒂芬·阿诺·道格拉斯(Stephen Arnold Douglas,1813年4月23日-1861年6月3日),美国佛蒙特州布兰登人,民主党籍政治家。道格拉斯曾任众议员、参议员,也是内布拉斯加法案的设计者,并
  • 叠氮酸叠氮酸,分子式HN3,在常温常压下为一种无色、具挥发性、有刺激臭、高爆炸性的液体。是拟卤化氢的一种。叠氮酸主要用于保存贮存溶液(stock solution),以及作为一种试剂。叠氮酸在1
  • 千瓦⋅时1千瓦⋅时或千瓦小时(符号:kW⋅h;常简称为度)是能量量度单位,表示一件功率为一千瓦的电器在使用一小时之后所消耗的能量,或等于3.6百万焦耳。“千瓦⋅小时”这个单位主要用于量度
  • 天旺车辆基地天旺车辆基地(朝鲜语:천왕차량사업소/天旺車輛事業所  */?)是首尔交通公社位于首尔九老区的一个车辆段,在首尔地铁7号线附近。这个车辆段主要用于首尔地铁7号线的7000系和SR000
  • 互联网分组交换协议互联网分组交换协议(Internetwork Packet Exchange,IPX)是由Novell公司提出的运行于OSI模型第三层的协议,标准为RFC 1132。具有可路由的特性。IPX的地址分为网络地址和主机地址,