整专业资料
微信QQ群
考生网QQ群

群号:517231281

扫码加群
点击二维码加群

考生网微信公众号

微信号:zikaosw

课程试听
最新资讯

手机端访问

1、直接输入www.zikaosw.cn
2、扫描左侧二维码

登录 | 注册
登录/注册后,可享受
  • 课程免费试听
  • 试做在线题库
  • 学习提升指导
自考生网
当前位置 自学考试 > 自考复习资料 > 高级语言程序设计(一)自考复习资料 > 文章详情

00342高级语言程序设计(一)自考复习资料:N-S流程图

来源:自考生网 时间:2023-04-03 10:00:59 编辑:兔子

自考生网为考生收集整理了“00342高级语言程序设计(一)自考复习资料:N-S流程图“以供考生们复习使用。自考教材每隔几年都会更新、变动,但相关知识大体不变,考生们抓住考点进行复习即可。

更多资料点此查看:高级语言程序设计(一)自考教材高级语言程序设计(一)题库高级语言程序设计(一)网课(精讲)、高级语言程序设计(一)视频课程(串讲)

算法描述方法:N-S流程图

描述算法可以使用多种方法。常用的算法描述方法是自然语言、传统流程图、N-S流程图、伪代码和计算机语言等。

N-S流程图

(1)传统流程图的弊端

传统流程图用流程线指出各个框的执行顺序,对流程线的使用没有严格限制。因此使用者可以不受限制地使流程随意地转来转去,使流程图变得毫无规律。阅读者需要花费大量精力去追踪流程,使人难以理解算法的逻辑。

为了提高算法的质量,使算法的设计和阅读更加方便,必须限制箭头的滥用,即不允许无规律地使流程随意跳转,只能顺序进行。但是,算法中难免会包含一些选择和循环,而不可能全部由一个一个框顺序组成。为了解决这一问题,人们设想规定出几种基本结构,.由这些基本结构按一定规律组成算法结构(如同用一些基本预制构件搭建房屋一样),整个算法的结构是自上而下地将各个基本结构顺序地排列起来。如果能做到这一点,算法的质量就能得到保证和提高。

(2)三种基本结构

已经证明使用以下三种基本结构能够表示一个良好算法。

1)顺序结构,如图1-8所示,虚线框内是一个顺序结构。其中A和B两个框是顺序执行的。即在执行完A框所指定的操作后,必然接着执行B框所指定的操作。顺序结构是最简单的一种基本结构。

00342高级语言程序设计(一)自考复习资料:N-S流程图

2)选择结构,又称分支结构,如图1-9所示。虚线框内是一个选择结构,此结构中必然包含一个判断框。根据给定的条件p是否成立而选择执行A框或B框。例如,条件p可以是00342高级语言程序设计(一)自考复习资料:N-S流程图00342高级语言程序设计(一)自考复习资料:N-S流程图

需要注意的是,无论条件p是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框。无论执行哪一条路径,在执行完A或B之后,都经过b点离开该选择结构。A或B框中可以有一个是空的,即不执行任何操作,如图1-9b所示。

00342高级语言程序设计(一)自考复习资料:N-S流程图

3)循环结构,又称重复结构,即反复执行某一部分的操作,可细分为两种:当型循环和直到型循环。

①当型循环,如图l-10a所示,其功能是当给定的条件pl成立时,执行A框的操作,执行完毕后,再判断条件pl是否成立,如果条件pl仍然成立,再执行A框的操作,如此反复执行A框的操作,当给定的条件pl不成立时,不再执行A框的操作,而从b点离开该循环结构。

②直到型循环,如图l-10b所示,其功能是先执行A框的操作,然后判断给定的条件p2是否成立,如果条件p2不成立,再执行A框的操作,然后再判断条件p2是否成立,如果条件p2仍然不成立,再继续执行A框的操作,如此反复执行A框的操作,直到给定的条件p2成立为止,此时不再执行A框的操作,而从b点离开该循环结构。

以上三种基本结构,具有的共同特点如下:

•只有一个入口。图1-8〜图1-10中所示的a点即为入口点。

•只有一个出口。图1-8〜图1-10中所示的b点即为出口点。需要注意的是,一个判断框有两个出口,而一个选择结构只有一个出口。不要将判断框的出口和选择结构的岀口混淆。

图1-10循环结构

00342高级语言程序设计(一)自考复习资料:N-S流程图

•结构内的每一个部分都有机会被执行到。换言之,对每一个框而言,都应当有一条从入口到出口的路径通过它。图1-11中没有一条从入口(a点)到出口(b点)的路径通过A框。

•结构内不存在“死循环”(无终止的循环)。图1-12所示是一个死循环。

00342高级语言程序设计(一)自考复习资料:N-S流程图

已经证明,由以上三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。.由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的跳转,只在基本结构内才允许存在分支和向前或向后的跳转。

其实,基本结构不一定只限于上述三种,只要具有上述四个特点的都可以作为基本结构。由它们构成的算法结构也是结构化的算法。但是,这些结构可以认为都是由这三种基本结构派生的。因此,人们普遍认为最基本的是本节介绍的三种基本结构。

(3)N-S流程图描述算法

既然用三种基本结构的顺序组合可以表示任何复杂的算法,那么,基本结构之间的流程线就多余了。

1973年美国学者LNassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线,整个算法写在一个矩形框内,在该框内还可以包含其他从属于它的框。这种流程图又称为N-S结构化流程图(N和S是两位学者英文名字的首字母)。由于这种流程图适合结构化程序设计,因而很受欢迎。

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

1)顺序结构:如图1-13所示,A和B两个框组成一个顺序结构。

2)选择结构:如图1-14所示,与图1-9对应。当条件p成立则执行A框的操作;当条件p不成立则执行B框的操作。需要注意的是,图1-14是一个整体,代表一个基本结构。

00342高级语言程序设计(一)自考复习资料:N-S流程图

3)循环结构:当型循环结构如图1-15所示。图1-15所示为当条件pl成立时则反复执行A框的操作,直到条件pl不成立为止。直到型循环结构如图1-16所示。

00342高级语言程序设计(一)自考复习资料:N-S流程图

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

应当说明,图1-13〜图1-16中的A框或B框,可以是一个简单的操作(如读入数据或打印输出等),也可以是三种基本结构之一。例如,图1-13所示的顺序结构,其中的A框可以是一个选择结构,B框可以是一个循环结构,由A和B这两个基本结构组成一个顺序结构,如图1-17所示。

下面举例说明如何用N-S流程图表示算法。

【例1-7】将【例1-1】的算法用N-S流程图表示。分析:如图1-18所示,对应图1-4。

00342高级语言程序设计(一)自考复习资料:N-S流程图

【例1-8]将【例1-2】的算法用N-S流程图表示。将120名学生中成绩高于60分的学号和成绩打印出来。

分析:如图1-19所示,对应图1-5。

【例1-9】将【例1-3】的算法用N-S流程图表示。

分析:由图1-7可知,这一流程图不是由三种基本结构组成的,中间那个循环部分,有两个出口(一个从第二个判断框下面出口,另一个在第一个判断框右边出口),不符合基本结构的特点。由于不能分解为三种基本结构,就无法直接用N-S流程图的三种基本结构的符号表示。因此,应先对图1-7进行必要的变换。要将第一个判断框(“r=0”)的两个出口合并在一点,以解决两个出口问题。当“r=0”时不直接输出“n不是质数”,而是设置一个标志值(变量w),其初始值为w=0。当“r=0”时(表示n为非质数)使w的值变为1。如果“r 00342高级语言程序设计(一)自考复习资料:N-S流程图0”则保持w=0。 w的作用如同一个开关,有两种工作状态,即w=0和w=1。 w=1表示n为非质数。如果最终w=0,则表示n为质数。然后将“1=>w”框的出口先改为指向第二个判断框,同时将第二个判断框中的条件改为00342高级语言程序设计(一)自考复习资料:N-S流程图和“w=0”两个条件都满足时才继续执行循环。如果出现00342高级语言程序设计(一)自考复习资料:N-S流程图,都不会继续执行循环(如图1-20所示)。如果在某一次“r=0”,则应执行1=>w。然后,由第二个判断框判断为“条件不成立”,接着执行图下部的选择结构。此时,00342高级语言程序设计(一)自考复习资料:N-S流程图表示n不是质数,应打印“n不是质数”。如果w=0,则表示在上面的每次循环中,n都不能被每一个i整除,所以n是质数,故打印"n是质数"。

图1-20所示的算法流程图已由三种基本结构组成,可以用N-S流程图表示此算法,如图1-21所示。需要注意图1-21中直到型循环的判断条件为00342高级语言程序设计(一)自考复习资料:N-S流程图,即只要00342高级语言程序设计(一)自考复习资料:N-S流程图之一成立,就不再继续执行循环。

00342高级语言程序设计(一)自考复习资料:N-S流程图

综上所述,N-S流程图表示算法的优势是比自然语言描述直观、形象、易于理解;比传统流程图紧凑易画,尤其是废除了流程线,整个算法是由各个基本结构按顺序组成的,N-S流程图中的上下顺序就是执行时的顺序,即图中位置在上面的先执行,位置在下面的后执行。写算法和看算法只需从上至下即可,十分方便。用N-S流程图表示的算法都是结构化的算法(不可能出现流程无规律的跳转,而只能自上而下地顺序执行)。

N-S流程图如同一个多层的盒子,因此又称为盒图(Box Diagram)

更多相关内容可查看“自考复习资料”栏目。

温馨提示:本网站所提供的考试信息仅供考生参考,考试政策请以权威部门公布的正式信息为准。
更多优惠课程课程推荐
资料套餐 关闭