程式是什么?
不同的人或许会给出不同的定义。不过如果让程远用最简单的话语来描述的话,那么程式便是“输入,处理,输出”!
没有输出的程式当然是存在的,只不过它没有任何意义。以计算机为例,无论一个程序是要计算一个数字还是绘制一个图形,它总要将结果输出到屏幕、打印机或者其它的输出设备上,否则这个程式的作用也就只有让芯片发热而已了——甚至严格说来,产生热量也算是输出的一种。
没有输入的程式当然也存在,然而如果换一种说法的话,我们也可以认为它们是“输入为一个空集”的程式,而每次调用一个这样的程式时,它都会返回完全相同的结果。什么,你说有那种产生随机数的程式?不好意思,严格地来说,这类程式需要一个隐含的“随机数生成种子”作为输入……它不能算是“没有输入”的程式。
除此之外,其它的程式都可以看做是接收一到多个输入参数,最终产生一到多个输出的演算过程。而且曾经有数学家证明过,每个“接收多个参数”的程式都可以被化简为数个接收“单一参数”的程式的形式——当然,这个说法并不严谨,而且那也是后话了。
程式间是可以进行组合的。
只要类型相同,那么我们便可以将一个程式的输出接到第二个程式的输入上,从而将二者组成一个更大的程式。那如何理解“类型相同”这个概念呢?举个例子:其实除了集成电路之外,其它的物件也是可以用于演算的——例如帕斯卡的计算齿轮组,而只有当齿轮的模数(即齿的间距)相同时,两个齿轮才能卡到一起。那么如果我们将一组齿轮看做执行
第五十五章 程式入门(八)(1/7)