一个算法的功能不仅与选用的操作有关,而且与这些操作之间的执行顺序有关。1966年,Bohra和Jacopini提出了3种基本结构,即顺序结构、选择结构和循环结构。这3种基本结构给出了算法的执行框架,决定了算法中各种操作的执行顺序。
图1-19 连接点示例
1.顺序结构
顺序结构是最简单的一种基本结构。计算机把要执行的各种操作依次排列起来,如图1-20所示,虚线框内是一个顺序结构,即在执行完A框指定的操作后,接着执行B框指定的操作。
2.选择结构
选择结构又称为分支结构,根据给定的条件是否成立,决定下一步执行哪一分支的操作。如图1-21所示,虚线框内是一个选择结构,即根据给定的条件P是否成立,选择执行A框或B框操作。A或B两个框中可以有1个是空的,即不执行任何操作。
3.循环结构
循环结构是指满足特定的条件,反复执行某一部分的操作。循环结构有两类。
(1)当型循环结构。当型循环结构如图1-22(a)所示。它的作用是当给定的条件P成立时,执行A框操作;执行完A后,再判断条件P是否成立,如果成立,再次执行A框操作,如此反复执行A框操作;当条件P不成立时,不执行A框操作,退出本循环结构。
(www.daowen.com)
图1-20 顺序结构
图1-21 选择结构
图1-22 循环结构
(2)直到型循环结构。直到型循环结构如图1-22(b)所示。它的作用是先执行A框操作,然后判断给定的条件P是否成立,如果条件P成立,再次执行A框操作,如此反复地执行A框操作,直到条件P不成立时,不执行A框操作,退出本循环结构。
由以上3种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构构成的算法属于结构化的算法,它不存在无规律的转向,只在基本结构内才允许存在分支和向前或向后的跳转。
流程图的作用:第一,开发人员参照它检查算法的正确性和完整性;第二,其他人员参照它对程序进行同行评审(代码评审);第三,开发人员参照它对程序进行长期维护。
例1.5 用流程图描述从a, b中找出一个较大数赋给max的算法,如图1-23所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。