不知不觉,要到了要做课程设计的时间了,那N-S图如何理解,如何画,且看下文。

在想要突破它之前,我们要先知道它是谁?

N-S图也被通常称为盒图或NS图(Nassi Shneiderman图)。

①N-S图:Nassi–Shneiderman diagram 两人名字部分 再加 diagram(图表,图解,几何图形的意思)就构成了其名称。

②盒图:形状(矩形框)像个盒子。(个人理解 仅供参考)

比如:选择结构
在这里插入图片描述

NS图就不多作阐述,与①相似。

背景简介:

1972年,美国学者I.Nassi 和 B.Shneiderman提出了一种在流程图中完全去掉流程线,全部算法写在一个矩形阵内,在框内还可以包含其他框的流程图形式。即由一些基本的框组成一个大的框,这种流程图又称为N-S结构流程图(以两个人的名字的头一个字母组成)。

那么名称含义,背景,我们都有所了解了之后,我们要知道用它来做什么,这些我们可以其出色的优点上分析

(1)NS图形象直观,功能域明确,具有良好的可见度;

(2)很容易确定局部和全局数据的作用域;

(3)很容易表示嵌套关系及模块的层次关系;(参考:百度百科)

总结下来就是,我们把算法写下来了之后,怎么以一种形象化流程的方式呈现出来呢,就可以借助这种方式

接下来让我们一起看一下N-S图的三种基本结构:

突破点N-S图包括顺序、选择和循环三种基本结构。就正好类比程序地三种基本结构。

1.顺序结构

语句顺序执行

比如:

​ 第一步执行A

​ 第二步执行B
在这里插入图片描述
例如:

int a=1;
int b=1;

在这里插入图片描述

2.选择结构

例如:TRUE 执行相对应语句sum++;

​ FALSE 执行相对应语句sum–;(此处仅为示例)

在这里插入图片描述
例如:

	if(a>b)
		max=a;
	else 
		max=b;

在这里插入图片描述

3.循环结构

循环结构基本可以分为这两类,

第一类:当型循环

先判断后执行,当循环条件成立的情况下,反复执行循环语句,直到循环条件不成立为止

在这里插入图片描述
例如:

for(int i = 1; i <= 100 ; i++ )
{
		sum+=i;
}

在这里插入图片描述

第二类:直到型循环

先执行后判断,当循环条件不成立的情况下,反复执行循环语句,直到循环条件成立为止

在这里插入图片描述

例如:

do{
	x++;
        }while(x<2);

在这里插入图片描述

说到这大体上也说完了,最后在这里再放一个实例加深一下理解

问题描述:求1-100的和

#include<stdio.h>
//求1到100的和 
int main()
{
    int i,sum=0;
    for(i = 1;i <= 100 ;i ++)
    {
    	sum=sum+i;
	}
	printf("%d\n",sum);
	return 0;
}

N-S图:(顺序结构+当型循环)
在这里插入图片描述

4.switch语句(新增内容)

switch是多分支语句,用于判断一个表达式的值,然后执行相应的语句。(可以实现多选一)

其语法结构大致如下:

switch (expression) {
    case constant-expression :   //constant-expression:常量表达式
       statement(s); //statement(s):语句序列
       break; 
    case constant-expression :
       statement(s);
       break; 
    ...
    default : 
       statement(s);
}

在这里插入图片描述

在网上并没有找到统一的switch语句的画法,但是个人想了想,switch语句本质上也是选择结构的一种,于是按照选择结构的形式画了一下,如有错误的地方,还请评论指出。

举例:

#include<stdio.h>

int main()
{
 	char grade;
 	printf("Please enter the grade:");
 	scanf("%c",&grade);
 	switch(grade)
 	{
  		case 'A':
   			printf("很棒!\n");
   			break;
  		case 'B':
  		case 'C':
   			printf("做得好!\n");
   			break;
  		case 'D':
   			printf("您通过了!\n");
   			break;
  		case 'E':
   			printf("最好再试一下\n");
   			break;
  		default:
   			printf("无效的成绩\n");
 	}
    return 0;
}

其N-S图为:

在这里插入图片描述

关于N-S图就先说到这里,希望能对你们有所帮助!
关于制图软件见这篇文章:
N-S制图软件

原创不易,创作至今,有受益,无收益,喜欢的话还请多多点赞,关注予以支持!

作者:code_流苏
如有错误,还请指出!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐