编程基础
致读者的说明
欢迎来到《编程基础——模块化结构化方法,第2版》!
本书的原始内容由Kenneth Leroy Busbee创作,专门为他的C++课程编写。本版的目标是使其编程语言中立,以便为使用各种编程语言的学生提供入门教材,包括C++、C#、Java、JavaScript、Python和Swift等。如果有需求,也可以考虑其他编程语言。
编程概念以通用方式介绍,逻辑通过伪代码和流程图形式展示,然后提供不同编程语言的示例。重点放在支持代码重用、维护和自文档化的模块化结构化方法上。
在开始审阅本版时,请牢记读者群体。如果某些内容缺失,请思考该概念是否适用于一般编程,或者仅适用于某些特定编程语言,且它是否是基础的、第一学期的编程概念,还是更适合在更高级的教材中讨论。
如果您对内容或方法有任何建议或疑虑,欢迎使用本书末尾的“评论”页面进行反馈。所有建议将被审阅和考虑。
Dave Braunschweig
关于本书
《编程基础——模块化结构化方法,第2版》是对《编程基础——使用C++的模块化结构化方法》的改编,原书由Kenneth Leroy Busbee创作,他是美国德克萨斯州休斯顿社区学院的教职工。第一版的材料最初由Busbee及其同事开发,作为独立模块在Connexions平台上发布。原始内容可在https://cnx.org/contents/MDgA8wfz@22.2:YzfkjC2r@17/ 上获取。
本书的第二版由Dave Braunschweig进行改编,扩展了原有构想,支持多种编程语言,通过伪代码和流程图进行演示,并包括C++、C#、Java、JavaScript、Python和Swift的示例代码。
编程基础通常分为三门大学课程:模块化/结构化、面向对象和数据结构。本教材/集合涵盖了这三门课程中的第一门。
学习模块
本书的学习模块作为独立模块编写。使用模块集合作为教材的学生通常会按作者所呈现的顺序阅读模块内容。
然而,许多读者可能通过互联网搜索找到这些模块。本教材的设计允许模块作者创建指向其他模块和互联网位置的网页链接,并指定必要的前提条件。
概念方法
本书的学习模块大多数是没有考虑特定编程语言的。概念以通用方式呈现,程序逻辑首先通过伪代码和流程图形式展示,然后提供语言特定的示例。
重用与定制
本书中的所有模块都遵循Creative Commons(CC)署名-相同方式共享许可协议。在此许可下,任何模块都可以用于或修改为任何目的,只要保持对原作者的适当署名,并且您的贡献也应在相同的许可协议下分发。
PDF转换问题
已知存在若干PDF打印问题。已知问题描述如下:
- 当转换“示例”时,PDF正确显示示例的第一行,但后续行会出现缩进问题。此问题发生在打印图书(因为是通过PDF打印)和下载模块或图书/集合作为PDF时。
- 在C++中,有三个运算符无法正确转换为PDF格式:
- 自减:—(两个减号)
- 插入:<<(两个小于号)
- 提取:>>(两个大于号)
参考文献
cnx.org: 《编程基础——使用C++的模块化结构化方法》