为什么所有的程序都可以由顺序分支循环这三种控制结构实现?

>=FreeMan=< 2009-08-13 06:29:47
我印象里数学上可以证明,是这样么?怎么证明?

向高手请教......
...全文
336 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fatiezhe 2009-08-14
这么说吧,计算机中所有的存储都有01两种状态,因此整个计算机的数据就有2^n种状态,这些状态可以分别视为平面图上的点,而程序就是操作这些点进行状态转移的有向图(有限自动状态机),那么如果一个点只有一个出度,那么就是顺序结构;多个出度,就是分支结构;如果有环,就是循环结构,除此之外,没有别的可能了。并行可以视为把多个状态合并起来考虑。
编译语言就是基于上面的工作原理的,而高级语言则是基于编译语言,所以看起来程序设计都是由三种结构控制的,而实际上都可以由分支结构来描述,循环结构是根据条件跳到后一句或前n句,而顺序结构可以视为分支结构的退化
回复
zb_fly 2009-08-14
因为这是三种最基本的结构,所有的问题,都可以分解成其中一种或几种,基础与上层建筑的关系
回复
ahjoe 2009-08-14
上体育课做队列训练时,为什么转身只有三种:向左转,向右转,向后转
回复
丈八涯 2009-08-14
可以参考一下:
http://en.wikipedia.org/wiki/Structured_program_theorem

回复
瓶盒 2009-08-13
[Quote=引用 1 楼 wuyi8808 的回复:]
还有并行。
[/Quote]
并行可以归于顺序和分支
回复
acdbxzyw 2009-08-13
问那个谁。
那个谁证明过了。
回复
FancyMouse 2009-08-13
翻图灵机相关的知识吧
回复
w29468 2009-08-13
反证法。。。
回复
-空军- 2009-08-13
还有并行。
回复
发动态
发帖子
数据结构与算法
创建于2007-08-27

3.2w+

社区成员

数据结构与算法相关内容讨论专区
申请成为版主
社区公告
暂无公告