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

【时时三省】(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图如同一个多层的盒子,又称盒图


http://www.kler.cn/a/555179.html

相关文章:

  • 上位机知识篇---setuptools
  • 基于Linux平台的多实例RTSP|RTMP直播播放器深度解析与技术实现
  • 机器学习_15 支持向量机知识点总结
  • 大模型常识:什么是大模型/大语言模型/LLM
  • IntelliJ IDEA中Maven配置全指南
  • SpringBoot 中封装 Cors 自动配置
  • 解决npm问题:错误的代理设置
  • 【爬虫 JS 逆向实战 - 请求载荷加密详细教程】
  • Pycharm+CodeGPT+Ollama+Deepseek
  • 【Java进阶学习 第二篇】Java中的final关键字
  • vue语法---09双向数据绑定
  • IDEA单元测试插件 SquareTest 延长试用期权限
  • DeepSeek VS ChatGPT-速度、准确性和成本
  • Linux中POSIX应用场景
  • 适用于复杂背景的YOLOv8改进:基于DCN的特征提取能力提升研究
  • 在 Java 中解析 JSON 数据
  • OmniHuman:一张图+音频生成逼真视频
  • 基于eBPF的全栈可观测性系统:重新定义云原生环境诊断范式
  • 大模型开发实战篇7:语音识别-语音转文字
  • [数据结构]顺序表详解