编程是将算法编码为符号,编程语言的过程,以使得其可以由计算机执行。虽然有许多编程语言和不同类型的计算机存在,第一步是需要有解决方案。没有算法就没有程序。
计算机科学不是研究编程。然而,编程是计算机科学家的一个重要能力。编程通常是我们为解决方案创建的表现形式。因此,这种语言表现形式和创造它的过程成为该学科的基本部分。
算法描述了依据问题实例数据所产生的解决方案和产生预期结果所需的一套步骤。编程语言必须提供一种表示方法来表示过程和数据。为此,它提供了控制结构和数据类型。
控制结构允许以方便而明确的方式表示算法步骤。至少,算法需要执行顺序处理,决策选择和重复控制迭代。只要语言提供这些基本语句,它就可以用于算法表示。
计算机中的所有数据项都以二进制形式表示。为了赋给这些字符串含义,我们需要有数据类型。数据类型提供了对这个二进制数据的解释,以便我们能够根据解决的问题思考数据。这些底层的内置数据类型(有时称为原始数据类型)为算法开发提供了基础。
例如,大多数编程语言为整数提供数据类型。内存中的二进制数据可以解释为整数,并且能给予一个我们通常与整数(例如 23,654 和 -19)相关联的含义。此外,数据类型还提供数据项参与的操作的描述。对于整数,诸如加法,减法和乘法的操作是常见的。我们期望数值类型的数据可以参与这些算术运算。通常我们遇到的困难是问题及其解决方案非常复杂。这些简单的,语言提供的结构和数据类型虽然足以表示复杂的解决方案,但通常在我们处理问题的过程中处于不利地位。我们需要一些方法控制这种复杂性,并能给我们提供更好的解决方案。