软件(程序)是什么?

软件,也叫程序,那么究竟什么是软件?在回答这个问题之前,先来看下面的例子。

老李要求他的痴呆儿子(下称小李)在一张纸上画三角形并计算出三角形的面积。老李准备了两张白纸:一张白纸上标注了三个点:A 点、B 点和 C 点,以及每个点的坐标;另一张白纸上写下了画三角形的步骤和计算三角形面积的方法。小李只要按照这些步骤和计算方法动手即可。步骤如下:

1)画一条直线连接 A 点和 B 点。

2)画一条直线连接 A 点和 C 点。

3)画一条直线连接 B 点和 C 点。

4)根据下面的公式计算三角形的面积并写在纸上:

老李把这两张纸交给小李后,小李在书桌上摊开这两张纸开始工作。大概过了十分钟,老李得到了一张画好三角形并标注了面积的纸张,任务完成,如图 1 所示。

画三角形并计算面积

图 1  画三角形并计算面积
现在把小李比喻成计算机的 CPU(中央处理器),那么书桌就是内存,绘制三角形的步骤就是软件,一个步骤就是一条指令(语句),老李就相当于程序员,而那张画了三角形并标注了面积的纸张就相当于软件的输出(在屏幕上显示或者打印出来),“画一个三角形并计算面积”就是软件要完成的任务(程序要处理的数据)。

几天后,老李要画更多形状不同的三角形并计算出各自的面积,如果还是按照原来的方式,那么针对每个三角形,老李都要给小李提交两张纸,一张纸标明三个点,另一张纸写明步骤。这样做一方面浪费了纸张,另一方面增加了工作量。于是老李想出了一个办法,只交给小李一张写有步骤的纸张,画一个三角形并计算面积的步骤改为:

1)询问 A 点的坐标。

2)询问 B 点的坐标。

3)询问 C 点的坐标。

4)画一条直线连接 A 点和 B 点。

5)画一条直线连接 A 点和 C 点。

6)画一条直线连接 B 点和 C 点。

7)根据下面的公式计算三角形的面积并写在纸上:

8)把那张画了三角形并标注了面积的纸张交回给老李。

这样小李收到老李递过来的纸张后,先询问老李三角形的三个顶点的坐标,然后再去画三角形并计算面积,如图 2 所示。

画三角形并计算面积(2)

图 2  画三角形并计算面积(2)
现在不只是老李,任何人只要复印那张写了步骤的纸张,都可以叫小李画出任何他们想要的三角形,只不过小李在画三角形前要询问顶点的坐标。继续把这些步骤比喻成软件,那么相对于前面的软件,这次增加了三条输入语句,用户在运行这个软件时,要用键盘输入三角形的三个顶点的坐标,然后就会在屏幕上看到一个三角形以及这个三角形的面积。

至此,我们总结出这个软件已经具备如下特征。

完成任务:画三角形并计算面积。

输入数据:顶点坐标。

输出结果:三角形及三角形的面积。

指令集:详细定义画一个三角形的步骤和计算三角形面积的方法。

指令集保存在一个文件中,这个文件就叫可执行程序,允许存放在硬盘、U 盘、光盘或者网盘中,可以任意复制和传播。比如,Windows 操作系统中的“计算器”这个程序(指令集)保存在硬盘上的 C:\Windows\system32\calc.exe 文件中,用鼠标双击它或者单击“开始”(“所有程序”(“附件”(“计算器”,即表示命令 CPU 现在就按照里面的步骤进行操作(专业术语叫执行指令)。

最后,我们通俗地定义一下软件:由程序员写的需要让 CPU 来完成某项任务的步骤。只不过这些步骤是用计算机语言来描述的。常见的计算机语言有 C 语言、C++、Java、PHP、Go 等,编程人员必须严格按照计算机语言的语法规则来写程序,如下面用 C 语言语句实现的加法运算。

软件(程序)是什么?

上面左侧灰色框内就是程序员用 C 语言写的两个数相加的程序语句,右侧是额外加上的说明信息。

软件必须包含输入/输出语句和计算语句,没有包含输入/输出语句的软件没有任何用途,因为它就像一个黑盒子,既不能输入任何东西,也不能从它那里得到任何东西。

在这里,我们要澄清两个概念:实时输入/输出和批量输入/输出。

实时输入/输出是指 CPU 执行输入/输出步骤时,立即完成输入/输出动作。

版权声明:
作者:admin
链接:https://www.mbqseo.top/298
来源:湛江SEO
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>