sequence、conditional(selection)、selection
1. 为什么只有这三种结构
计算机中所有的存储都有 01 两种状态,因此整个计算机的数据就有 2^n 种状态,这些状态可以分别视为平面图上的点,而程序就是操作这些点进行状态转移的有向图(有限自动状态机),那么:
- 如果一个点只有一个出度,那么就是顺序结构;
- 多个出度,就是分支结构;
- 如果有环,就是循环结构,
除此之外,没有别的可能了。并行可以视为把多个状态合并起来考虑。
编译语言就是基于上面的工作原理的,而高级语言则是基于编译语言,所以看起来程序设计都是由三种结构控制的,而实际上都可以由分支结构来描述,循环结构是根据条件跳到后一句或前n句,而顺序结构可以视为分支结构的退化