漫谈顺序、分支和循环

本文探讨了编程中的顺序、分支和循环三种基本流程结构,阐述了命令编程范式与函数编程范式的顺序结构差异,以及在面向对象编程中分支结构与多态的关系。同时,对比了迭代与递归在C/Java与Scheme中的应用,并强调了尾递归在函数式编程中的重要性。
摘要由CSDN通过智能技术生成

今天讲课,将顺序、分支和循环这三种流程结构聊了聊。本文作为泛读资料(有问题请跟帖提问)。

3种流程

在狄杰斯特拉(Edsger W. Dijkstra)反复研究面条式代码(spaghetti code),并在1968年给某位编辑写了一篇著名的简信,题为《Go to语句是有害的》之后,计算机科学家Corrado Bohm和Giuseppe Jacopini证明,使用顺序(sequencing),分支/选择(alternation)和循环(iteration)这三种流程结构就足以表达所有程序的本质。三种流程结构如同万花筒中的彩纸,构成无穷无尽极富变化的程序。早期的编程书籍中,会有顺序程序设计,选择结构程序设计和循环结构程序设计等说法。有时候,人们将它们称为控制抽象(control flow abstraction)。随着变量、表达式和控制语句被所有的现代语言支持,人们已经习以为常地不将它们作为抽象或抽象机制了,仅将它们作为语句或程序的实现看待。

三种流程结构的进一步说明,顺序结构参见[0.2.2命令编程范式],分支结构参见[1.2.5策略模式(5.9)],循环结构参见[0.2.3函数编程范式]。下面综合的说明一下。

1.顺序结构(命令范式Vs.函数范式)

一江春水向东流。在命令编程范式如C语言中,将编程过程定义为一个命令/指令序列的开发

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值