Nassi-Shneiderman图

✍ dations ◷ 2025-08-17 04:26:51 #计算机编程,图表

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

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

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

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

相关

  • 煤气煤气指木材在干馏下发生化学反应 产生的气体混合物,其主要成分是氢气和甲烷,另外还有少量的一氧化碳和非燃料的氮和二氧化碳等杂质。氢气和一氧化碳没有味道,但是为防止煤气泄
  • 电信电信或称电讯(英语:Telecommunication),是用电磁设备实现的利用有线电、无线电或光传输信息的通信方式。电信起源于19世纪发明的有线电报和有线电话,20世纪无线电的发明以及电子
  • 水蒸气压水蒸气压通常指水的饱和蒸气压,是水蒸气与其凝聚态处于热力学平衡时蒸气的压强。在混合气体中,饱和水蒸气压为与液态或固态水处于平衡态的水蒸气的分压。饱和水蒸气压是温度的
  • 叔丁硫醇叔丁硫醇是一种有机硫化合物,化学式为(CH3)3CSH。它可以用作天然气的增味剂,或用作调味剂。有多篇文章将叔丁硫醇列为烘培马铃薯的微量气味成分之一,但由于叔丁基化合物在自然
  • 新选组血风录 近藤勇《新选组血风录 近藤勇》(しんせんぐみけっぷうろく こんどういさみ)为于1963年5月12日上映的日本时代剧,由东映制作发行,是根据司马辽太郎的著作《新选组血风录》改编而成。
  • 1966年世界杯足球赛决赛1966年国际足联世界杯决赛于1966年7月30日在英格兰温布利球场举行。比赛结果为英格兰队以 4–2 击败西德队,获得该届世界杯的冠军。
  • 岩墙群岩墙群是一种厚度比较稳定的近直立的板状岩浆侵入体的集合体。作为超大陆初始裂解的标志,岩墙群在全球超级大陆恢复重建研究中越来越得到高度重视。尤其,陆缘放射状(或扇状)分布
  • 马克斯·胡贝尔马克斯·胡贝尔(德语:Max Huber;1874年12月28日-1960年1月1日)是一位瑞士律师、外交家,代表瑞士参加一系列国际会议与机构。胡贝尔生于苏黎世,曾在洛桑大学、苏黎世大学和柏林大学
  • 卡吉米日·施维亚泰克卡吉米日·施维亚泰克(意大利语:Kazimierz Świątek,1914年10月21日-2011年7月21日),是天主教白俄罗斯籍司铎级枢机。也是原明斯克-莫吉廖夫总教区总主教。卡吉米日·施维亚泰克
  • 布鲁斯·贾科斯基布鲁斯·马丁·贾科斯基(Bruce Martin Jakosky,1955年12月9日-)是一位美国行星科学家。曾经参与海盗号、太阳与地球中气层探测卫星(英语:Solar Mesosphere Explorer)、克莱门汀号、