什么是计算机程序?

1、计算机程序的基本理解

经常听别人说在计算机上写程序,写代码,那你知道什么是计算机程序么?

计算机程序,最简单的理解,其实就是“数据结构+算法”的综合体,这也是最经典的关于计算机程序的一种表述。那什么是数据结构呢?什么又是算法呢? 假设让计算机处理某个任务,数据结构就是在该任务中抽象出来的可运算的一堆数据,这堆数据可以输入到计算机中, ⽽算法则是对这堆数据进行加工整理及计算的⽅法,以达到完成任务解决问题的目的。

由此可⻅, 在计算机程序中,数据结构是基础(基本部件),而算法则是灵魂(完成任务)。

2、数据结构及其表示形式

数据结构在程序中负责管理及存储各种数据,根据数据的复杂程度,可分为基本数据类型和复合数据类型。为方便说明,下面以C语言为对象进行说明。

计算机中能够处理的基本数据类型包括:字符型、 整型、 单精度浮点型、 双精度浮点型和空类型。 在不同的操作系统或硬件平台中, 这些数据类型的取值范围和所占⽤的内存大小又有所不同。除void 类型外, 基本类型的前⾯还可以加各种修饰符,⽤来改变基本类型的意义, 以便更准确地适应各种情况的需求。 如signed、short、long和unsigned等修饰符可⽤于字符和整数两种基本类型,而long修饰符还可用于 double。unsigned 和 signed修饰符分别表⽰⽆正负值符号和有正负值符号的数据类型。

而复合数据类型是在基本数据类型的基础上,进一步组合演变来的能够存储复杂的数据结构,如C/C++语言中的数组、 结构体、 共用体 (联合体) 、位域和枚举、甚至指针类型等。

3、算法与流程图

算法是在计算机上为完成特定的任务,对数据结构进行加工处理的方法。而方法的具体实现过程可用流程图来进行描述。计算机程序中的每个处理步骤都可⽤⼀个⼏何图形表⽰,如矩形表⽰⼀般的赋值或计算,菱形表⽰判断。 流程之间⽤线连接,并且使⽤箭头标明程序的处理⽅向。 基本流程图的形状如下图所⽰。

对于现代的高级编程语言如以C语⾔为代表的结构化语⾔,都提供了3种最基本的程序结构,分别为顺序结构、 选择结构和循环结构。任何计算机算法都可化简为这3种基本结构的组合, 基本结构间可以并⾏,也可以相互包含,但是不允许交叉。

  • 顺序结构

顺序结构是简单的线性结构, 各流程按顺序执⾏。 其流程图的基本形态如下图所⽰,语句的执⾏顺序为 A->B->C。

  • 选择结构

选择结构⽤判断语句实现。判断语句使程序的执⾏变为两个路径,当判断的条件为真时,选择⼀个路径执⾏,当判断的条件为假时,选择另⼀个路径执⾏,如下图所示。

  • 循环结构

循环结构是指反复对某⼀段代码的执⾏, 其基础为判断结构。 执⾏的代码称之为循环体, 判断结构⽤于根据某⼀条件, 判断是否继续循环。如C语言中的两种典型循环结构类型如下图所示,分别为while型循环和do-while型循环。

用流程图描述算法的样式主要包括两种图形结构方式,分别为N-S图法和PAD图法。

其中,N-S 图法它由矩形组成, ⼀个程序模块是最外围的矩形外框, 程序中的每个步都是⼀个内嵌的⼩矩形,如下图所示。该图没有使⽤箭头表⽰程序执⾏的⽅向, 但也能准确定义程序的三种基本结构。它适合于设计系统程序, 特别是分⽀间相互独立的程序。

PAD 图 (Problem Analysis Diagram) 是国际上专业的程序员⼴泛使⽤的⼀种程序流程表示法。 它更容易描述扁平化的程序结构。 特别是⼀些应⽤管理类软件,其中都会有很多扁平化的分⽀语句,这些语句⽤PAD描述吏为清晰。如下图所示。

(0)

相关推荐