编程的相关概念
1. 计算机科学
计算机科学研究的是问题是否可计算,算法是否存在。
1.1 解决问题的基本思路
- 将事物分类,将大问题分解为小单元(树)。
2. 算法
算法是逐步解决一类问题或完成一项任务的方法。又或者算法是解决一类问题的通用过程(步骤)。
2.1 算法与程序的区别
- 程序是算法编码的结果,同一算法通过不同的编程语言产生不同的程序。
3. 过程
涉及时间始末、次序先后,称之为过程。主体发布动作、主体执行步骤,皆是过程。
4. 编程
设计程序、编写程序。是一个过程。
5. 程序
一系列定义计算机如何执行计算的指令。又或者程序(算法)由对象、表达式和语句组成。
程序的指令类型
- 输入 (input): 从键盘、文件、网络或者其他设备获取数据。
- 输出 (output): 在屏幕上显示数据,将数据保存至文件,通过网络传送数据,等等。
- 数学 (math): 执行基本的数学运算,如加法和乘法。
- 有条件执行 (conditional execution): 检查符合某个条件后,执行相应的代码。
- 重复 (repetition): 检查符合某个条件后,执行相应的代码。
对象、表达式、语句
- 对象 (object): 变量可以引用的东西。数字、数据结构、函数、类等
- 表达式 (expression): 变量、运算符和值的组合,代表一个单一的结果。
- 语句 (statement): 代表一个命令或行为的一段代码。赋值、输入、输出、打印、选择/条件(if、else)、迭代/遍历/循环(for、while)
6. 函数
在编程的语境下,函数 (function) 是指一个有命名的、执行某个计算的语句序列 (sequence of statements) 。
6.1 函数与方法
- 方法 (method): 与对象相关联的函数,并使用点标记法 (dot notation) 调用。
7. 变量
变量是指向某个值的名称(符号)。
8. 条件
条件 (condition): 决定哪个分支会被执行的布尔表达式。
8.1 条件语句
- 条件语句 (conditional statement): 一段根据某个条件决定程序执行流程的语句。
9. 迭代(重复)
迭代 (iteration): 利用递归或者循环的方式来重复执行代一组语句的过程。
10. 遍历(重复)(搜索)
遍历 (traversal): 对一个序列的所有元素进行迭代,对每一元素执行类似操作。搜索意思与遍历相近。
11. 循环(重复)
循环 (loop): 程序中能够重复执行的那部分代码。
12. 递归(重复)
递归 (recursion): 调用正在执行的函数本身的过程。
13. 类
类 (class): 一种程序员自定义的类型。类定义创建了一个新的类对象。