Nassi-Shneiderman图

✍ dations ◷ 2025-10-03 07:29:13 #计算机编程,图表

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

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

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

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

相关

  • 埃米·诺特埃米·诺特(德语:Emmy Noether,德语:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gentiu
  • 人民法院人民法院可以是指:
  • 联邦行政会议澳大利亚主题联邦行政会议是澳大利亚《宪法》下的国家最高行政机关。联邦行政会议的地位大约等同其他英联邦国家的行政会议以及英国和加拿大的枢密院。联邦行政会议由澳大利
  • 国立北平大学国立北平大学,是民国时期将数所北平(今北京市)附近的高等学校合并而成的大学,并非北京大学。1927年,北洋政府因为连年军阀混战,国库空虚,且因为各大学科系重复设置,资源重复浪费,下令
  • 国家科学技术奖中国政府为了奖励在科技进步活动中作出突出贡献的公民,推动中国科技事业的发展,国务院设立五个国家科学技术奖。包括国家最高科学技术奖、国家自然科学奖、国家技术发明奖、国
  • 卫温卫温(?-231年),三国时期东吴将军。黄龙二年(230年)正月,孙权派卫温、诸葛直带领上万士兵出海寻找夷洲、亶洲,想要扩大版图和寻找奇珍异宝。陆逊和全琮都谏言反对,孙权不听。卫温和诸葛
  • 东代恰-瓦尔瓦德东代恰-瓦尔瓦德(Dondaicha-Warwade),是印度马哈拉施特拉邦杜利亚县的一个城镇。总人口42393(2001年)。该地2001年总人口42393人,其中男性22072人,女性20321人;0—6岁人口5923人,其中
  • 向井敏明向井敏明(1912年6月3日-1948年1月28日)是第二次世界大战期间的一名日本陆军军官,曾参与南京大屠杀。日本战败时任职陆军少佐。日本投降之后,被定为乙级战犯,并在中国南京被处决。
  • 苏门答腊犀 Buckland, 1872 Fischer, 1814 Groves, 1965苏门答腊犀(学名:)简称 苏门犀,是 双角犀属 的唯一物种,现存体型最小的犀牛。肩高约 1.3 米,体长约 2.4-3.2 米,体重约 700 千克。苏门
  • 社会主义劳动英雄 (捷克斯洛伐克)社会主义劳动英雄(捷克语:Hrdina socialistické práce)是捷克斯洛伐克社会主义共和国的最高荣誉之一。“社会主义劳动英雄”荣誉称号是由1959年5月20日第34/1959号法令设立的