当前位置: 首页 > news >正文

【时时三省】(C语言基础)用N-S流程图表示算法

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省

N-S流程图

既然用基本结构的顺序组合可以表示任何复杂的算法结构,那么,基本结构之间的流程线就是多余的了。1973年,美国学者I.Nassi和B .Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含他从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图又称N-S结构化流程图( N和S是两位美国学者的英文姓氏的首字母)。这种流程图适于结构化程序设计,因而很多欢迎。

N-S流程图用以下的流程图符号。

( 1 )顺序结构。A和B两个框组成一个顺序结构。

 ( 2 )选择结构。

 ( 3 )循环结构。

当型循环结构当pl条件成立时反复执行A操作直到pl条件不成立为止。

 直到型循环结构

 在初学时,为清楚起见,可如图那样,写明“当pl成立”或“直到p2成立”待熟练之后,可以不写“当”和“直到”字样,只写“pl”和“p2”。从图的形状即可知道是当型还是直到型。

用以上3种N-S流程图中的基本框可以组成复杂的N-S流程图,以表示算法。

示例:

将求1*2*3*4*5的结果用N-S图表示

 输出50名学生中成绩高于80分者的学号和成绩用N-S表示

 通过以上两个个例子,可以看出用N-S图表示算法的优点。它比文字描述直观、形象、易于理解;比传统流程图紧凑易画,尤其是它废除了流程线,整个算法结构是由各个基本结松按顺序组成的,N-S流程图中的上下顺序就是执行时的顺序,也就是图中位置在上面的先批行,位置在下面的后执行。写算法和看算法只须从上到下进行就可以了,十分方便。用N-s图表示的算法都是结构化的算法(它不可能出现流程无规律的跳转,而只能自上而下地顺序执行)。

归纳起来可知:

一个结构化的算法是由一些基本结构顺序组成的;在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围之内(如循环中流程的跳转);一个非结构化的算法可以用一个等价的结构化算法代替,其功能不变。如果一个算法不能分解为若干个基本结构,则它必然不是一个结构化的算法。

N-S图如同一个多层的盒子,又称盒图

相关文章:

  • ok113i平台——多媒体播放器适配
  • “让App玩捉迷藏:Android教育平板的‘隐身术’开发实录”
  • 尚硅谷爬虫note009
  • 第一章:前端性能的定义与指标
  • DeepSeek联网搜索
  • Docker:3、在VSCode上安装并运行python程序或JavaScript程序
  • windows系统本地部署DeepSeek-R1全流程指南:Ollama+Docker+OpenWebUI
  • GitLab 概念
  • Python自动化测试
  • 【分布式理论12】事务协调者高可用:分布式选举算法
  • 详解Virtualhome环境搭建教程 | 智能体
  • ES12的逻辑操作符 ,数字分隔符,字符串的replaceAll,FinalizationRegistry的用法以及使用场景
  • transfmer学习认识
  • 【iOS】Blocks
  • Mysql-------事务
  • PWM(脉宽调制)技术详解:从基础到应用实践示例
  • 动态规划之背包问题
  • 正式页面开发-登录注册页面
  • 阿里云k8s服务部署操作一指禅
  • ECharts极简入门
  • 经济日报:美国滥施汽车关税损人不利己
  • 俄副外长:俄美两国将举行双边谈判
  • 中国巴西民间推动建立经第三方验证的“森林友好型”牛肉供应链
  • 习近平同巴西总统卢拉共同出席合作文件签字仪式
  • 刘永明|在从普及到提高中发展新大众文艺
  • 缺字危机:一本书背后有多少“不存在”的汉字?