G小说 > 编码的奥秘2 > 第11章

第11章

集合,这些信号可以分为4๒类:

集成电路可以安装ณ在一块板上,但更常见的是,不同的部件分开安装在两块或更多的板上,

是因为我们要追踪另一段历史轨迹—即降低计算机造价和大小并且使它进入家庭的轨迹,

称它为“电å脑”。同样是在1้952年,ibຘm布了它的第一个商用计算机系统,即701。

输出

数据端

0110่12000่

101111้250

第6章电报机与继电器25

第4章手电筒剖析13

begin

print'thisismyfistaທlgolprogram!';

ende

可以用algol编译程序来编译firstalg程序,操作如下:

algolfirstalg

algol编译程序的响应可能是显示ิ类似于下面的内容:

line3:unre9de'

algol对拼写的挑剔๶不亚于传统的英语教师๲。在输入程序时若拼错了单词end,编译程

序则会告知程序有一个语法错误。当它碰到ende时,它希望那是它可以识别的关键字。

修改了错误以后,可以再运行algol编译程序。有时,编译程序会直接生成一个可执行

文件名为ฦfirstcom,或者是ms-dos下的firstexe;有时,还需要进行另一个步骤。

无຀论怎样,你都可以从命令行运行first程序:

第24章高级语言和低级语言25๓5

下载

first

first程序的响应是显示:

thisismyfistalgolprogram!

糟糕!还有一个拼写错误。这是一个编译程序不能现的错误,因此,称为ฦ运行时错误

run-ๅtimeerror—即只在运行程序时才出现的错误。

可以看出,在该algol程序中,print语句在屏幕上显示一些内容,本例是一行文本因

此,这个ฐalgol程序等效于本章前面9t语句实际上并不是algol

语言正式定义的一部ຖ分,这里只假设正在用的这个algol编译程序包含有这样一个实用工具,

有时称作内部ຖ函数。print语句—就像许多aທlgol语句除bຘegin和end外一样—后面必

须跟引号。print语句向里缩进不是必须的,只不过使得程序结构更清晰。

假设要编写一个程序计算两个数的乘法。每一个程序设计语言都有变量这个概ฐ念。在程

序中,变量名可以为一个字母、一个短的字母序列ต,甚至为一个短词。实际上,变量对应于

一个内存单元,但在程序中ณ是通过名字来引用的,并不是通过内存地址。下面这个ฐ程序有3个

变量,名为a、b和cນ:

begin

realaທ,b,c;๙

aທ:=๡53543๑;

b:๘=9771;

c:=axb;

print'theprodu9d',bຘ,'is',c;

end

real语句是说明语句,用来表明程序中要说明的变量。本例中ณ,变量a、b、c是实数或浮

点数algol也支持关键字integer,用来说明整型变量。通常,程序设计语言要求变量名

以字母开头。只要第一个ฐ字符是字母,变量名可以包含数字,但不能包含空格及许多其他字

符。通常编译程序要限制ๆ变量名的长度。本章的例子都采用一个字母作为变量名。

如果使用的algol编译程序支持ieee浮点数标准,则程序中的3个变量都需要4๒个字节的

存储空间对单精度数或8๖个字节的存储空间对双精度数。

接下来的三个语句是赋值语句。在algol中,赋值语句定义为冒号后紧跟等号。在许

多计算机语言中,赋值语句只需用等号。赋值语句的左边是变量,右边是表达式。前两个赋

值语句是给a和b赋给一个ฐ值,第三个赋值语句中变量c的值由变量a和b产生。

今天,在程序设计语言中ณ,大家熟悉的x乘号通常不允许使用,因为它不属于ascii

码和ebcນdic的字符集。许多程序设计语言用星号表示乘法。虽然algol用斜杠

表示除法,但也包括一个除号÷表示整数除法,即表明被除数中有多少倍的除数。

algol中ณ也定义了箭头↑,这是另一个非aທscii码字符,用来表示乘方。

最后是用来显示的print语句。本例中即有文本又有变量,它们用逗号隔开。显示ascii字

符可能并不是print语句的主要工ื作,本例中ณ,它的功能还包括把浮点数转换成aທscii码:

theprodu9d9711is1551้52086๔53

接着程序终止,返回到操作系统。

如果想乘另外两个数,则需要修改程序,改变数,重新编译,再运行。可以利用一个名

为read的内置函数来避免这种频繁的重新编译工作:

256编码的奥秘

下载

begin

reala,bຘ,c;

print'enterthefirstnumber:๘'ู;

readaທ;

print'enterthe色9umber:';

readb;

c:๘=aທxb;

print'theprodu9d'ู,b,'is',ไc;

end

read语句从键盘读入ascii码字符并转换成浮点数。

高级语言中一个非常重要的结构是循环。循环使得同一段程序依据一个ฐ变量的多个ฐ不同