
3.1 结构化程序设计的三种基本结构
结构化程序的三种基本结构分别是顺序结构、选择结构和循环结构,它们是一般的结构化程序所具有的通用结构。
【例3.1】阅读程序,说明程序的结构和执行过程。
程序代码如下:

本例的程序流程图和N-S图如图3-1所示。
说明:上面程序执行的顺序为从上往下一条语句一条语句地执行,所以本程序的结构是顺序结构,它是按照书写的顺序执行的。

图3-1 例3.1程序的流程图和N-S图
相关知识1
1.顺序结构
顺序结构中的语句是按书写的顺序执行的,语句的执行顺序与书写顺序一致。

图3-2 顺序结构
用流程图表示顺序结构如图3-2(a)所示,用N-S图表示顺序结构如图3-2(b)所示,表示先执行A操作,再执行B操作,两者是顺序执行的关系。
顺序结构的基本程序框架主要由三大部分组成:输入算法所需要的数据、进行运算和数据处理、输出运算结果数据。
在顺序结构中,程序的流程是固定的,不能跳转,只能按照书写的先后顺序逐条逐句地执行。这样,一旦发生特殊情况,无法进行特殊处理,但实际问题中,很多时候需要根据不同的判定条件执行不同的操作步骤,这就需要采用选择结构来处理。
2.选择结构
最基本的选择结构是当程序执行到某一语句时,要进行条件判断,从两条执行路径中选择一条,所以选择结构又称分支结构。其根据情况可分为二支和多支。选择结构增加了编程的灵活性。例如,要在两个数a,b中取一个较大的数就要经过比较判断,决定是将a还是将b输出。选择结构给程序注入了最简单的智能。

图3-3 选择结构
用流程图表示选择结构如图3-3(a)所示,用N-S图表示选择结构如图3-3(b)所示,表示当条件P成立时,执行A操作,否则执行B操作,两者是选择执行的关系。
3.循环结构
循环结构是当满足某种循环的条件时,将一条或多条语句重复地执行若干遍,直到不满足循环条件为止。这种结构可使程序简洁明了。众所周知,电子计算机的一大优势是运算速度快,当能把一个复杂问题用循环结构来实现时,就能充分地发挥计算机的高速优势。
循环结构有两种类型:
(1)当型循环结构
用流程图表示当型循环结构如图3-4(a)所示,用N-S图表示当型循环结构如图3-4(b)所示,表示当条件P成立时,反复执行A操作,当条件P不成立时循环结束。
(2)直到型循环结构
用流程图表示直到型循环结构如图3-5(a)所示,用N-S图表示直到型循环结构如图3-5(b)所示,表示先执行A操作,再判断条件P是否成立,若条件P成立,则反复执行A操作,直到条件P不成立时循环结束。

图3-4 当型循环结构

图3-5 直到型循环结构
注意:编写程序的时候,三种结构化的基本控制结构多是同时出现的。