《计算机英语》参考译文和练习答案 的另外一种程序翻译成机器语言。因为这个原因,与用汇编语言编写的程序比较起来,用高 级语言编写的程序可能运行的时间更长,占用的内存更多 3、汇编语言 计算机编程人员使用汇编语言使机器语言程序编写起来更简单一些。在汇编语言中,每 条语句大致对应一条机器语言指令。汇编语言的语句是借助易于记忆的命令编写的。在典型 的汇编语言的语句中,把存储寄存器A的内容加到存储寄存器B的内容中这一命令,可以 写成ADDB,A。汇编语言与机器语言具有某些共同特征。例如,对特定的比特进行操作, 用汇编语言和机器语言都是可行的。当尽量减少程序的运行时间很重要时,程序员就使用汇 编语言,因为从汇编语言到机器语言的翻译相对简单。当计算机的某个部分必须被直接控制 时,如监视器上的单个点或者流向打印机的单个字符,这时也使用汇编语言。 三、高级语言的分类 高级语言通常分为面向过程的、函数式的、面向对象的或逻辑的语言。当今最常见的高 级语言是面向过程的语言。在这种语言中,执行某个完整功能的一个或多个相关的语句块组 成一个程序模块或过程,而且被给予诸如“过程A”的名称。如果在程序的其他地方需要同 样的操作序列,可以使用一个简单的语句调回这个过程。实质上,一个过程就是一个小型程 序。一个大程序可以通过将执行不同任务的过程组合在一起而构成。过程语言使程序变得比 较短,而且更易于被计算机读取,但是要求程序员将每个过程都设计得足够通用,能用于不 同的情况 函数式语言像对待数学函数一样对待过程,并允许像处理程序中的任何其他数据一样处 理它们。这就使程序构造在更高、更严密的水平上得以实现。函数式语言也允许变量—在 程序运行过程中可以被用户指定和更改的数据符号——只被赋值一次。这样,通过减少对语 句执行的确切顺序给予关注的必要性,就简化了编程,因为一个变量没有必要每次在一个程 序语句中用到,都重新定义或重新赋值。函数式语言的许多观点已经成为许多现代过程语言 的关键部分 面向对象的语言是函数式语言的发展结果。在面向对象的语言中,用来编写程序的代码 和程序处理的数据,组合成叫做对象的单元。对象进一步组合成类,而类则定义对象必须具 有的属性。类的一个简单例子就是书这个类。这个类中的对象可能是小说和短篇小说。对象 还有某些与其相关的功能,称为方法。计算机通过使用对象的某种方法来使用这个对象。方 法对对象中的数据执行某个操作,然后将值返回给计算机。对象的类也可更进一步组合成层 而在层中一个类的对象可继承另一个类的方法。面向对象的语言中所提供的这种结构,使面 向对象的语言对于复杂的编程任务非常有用, 逻辑语言将逻辑用作其数学基础。一个逻辑程序由一系列的事实与“如果……则”规则 组成,来具体说明一系列事实如何可以从其他实事中推断出来,例如: 如果X语句为真,则Y语句为假。 在这样一个程序的执行过程中,一条输入语句可以按照逻辑从程序中的其他语句推断出 来。许多人工智能程序使用这种语言编写 四、语言的结构与成分 编程语言使用特定类型的语句或指令,来给程序提供功能结构。程序中的一条语句是表 达一个简单意思的基本句子,其目的是给计算机一条基本指令。语句对允许的数据类型、数 11
《计算机英语》参考译文和练习答案 11 的另外一种程序翻译成机器语言。因为这个原因,与用汇编语言编写的程序比较起来,用高 级语言编写的程序可能运行的时间更长,占用的内存更多。 3、汇编语言 计算机编程人员使用汇编语言使机器语言程序编写起来更简单一些。在汇编语言中,每 条语句大致对应一条机器语言指令。汇编语言的语句是借助易于记忆的命令编写的。在典型 的汇编语言的语句中,把存储寄存器 A 的内容加到存储寄存器 B 的内容中这一命令,可以 写成 ADD B, A。汇编语言与机器语言具有某些共同特征。例如,对特定的比特进行操作, 用汇编语言和机器语言都是可行的。当尽量减少程序的运行时间很重要时,程序员就使用汇 编语言,因为从汇编语言到机器语言的翻译相对简单。当计算机的某个部分必须被直接控制 时,如监视器上的单个点或者流向打印机的单个字符,这时也使用汇编语言。 三、高级语言的分类 高级语言通常分为面向过程的、函数式的、面向对象的或逻辑的语言。当今最常见的高 级语言是面向过程的语言。在这种语言中,执行某个完整功能的一个或多个相关的语句块组 成一个程序模块或过程,而且被给予诸如“过程 A”的名称。如果在程序的其他地方需要同 样的操作序列,可以使用一个简单的语句调回这个过程。实质上,一个过程就是一个小型程 序。一个大程序可以通过将执行不同任务的过程组合在一起而构成。过程语言使程序变得比 较短,而且更易于被计算机读取,但是要求程序员将每个过程都设计得足够通用,能用于不 同的情况。 函数式语言像对待数学函数一样对待过程,并允许像处理程序中的任何其他数据一样处 理它们。这就使程序构造在更高、更严密的水平上得以实现。函数式语言也允许变量——在 程序运行过程中可以被用户指定和更改的数据符号——只被赋值一次。这样,通过减少对语 句执行的确切顺序给予关注的必要性,就简化了编程,因为一个变量没有必要每次在一个程 序语句中用到,都重新定义或重新赋值。函数式语言的许多观点已经成为许多现代过程语言 的关键部分。 面向对象的语言是函数式语言的发展结果。在面向对象的语言中,用来编写程序的代码 和程序处理的数据,组合成叫做对象的单元。对象进一步组合成类,而类则定义对象必须具 有的属性。类的一个简单例子就是书这个类。这个类中的对象可能是小说和短篇小说。对象 还有某些与其相关的功能,称为方法。计算机通过使用对象的某种方法来使用这个对象。方 法对对象中的数据执行某个操作,然后将值返回给计算机。对象的类也可更进一步组合成层, 而在层中一个类的对象可继承另一个类的方法。面向对象的语言中所提供的这种结构,使面 向对象的语言对于复杂的编程任务非常有用。 逻辑语言将逻辑用作其数学基础。一个逻辑程序由一系列的事实与“如果……则”规则 组成,来具体说明一系列事实如何可以从其他实事中推断出来,例如: 如果 X 语句为真,则 Y 语句为假。 在这样一个程序的执行过程中,一条输入语句可以按照逻辑从程序中的其他语句推断出 来。许多人工智能程序使用这种语言编写。 四、语言的结构与成分 编程语言使用特定类型的语句或指令,来给程序提供功能结构。程序中的一条语句是表 达一个简单意思的基本句子,其目的是给计算机一条基本指令。语句对允许的数据类型、数
《计算机英语》参考译文和练习答案 据如何处理以及过程和函数的工作方式进行定义。程序员利用语句来操作编程语言的常见成 分,如变量和宏(程序中的小型程序) 数据声明语句给予称为变量的程序元素以名称和属性。变量在程序中可以赋予不同的 值。变量可以具有的属性被称作类型,它们包括:变量中可能存储什么样的值,值中使用何 种程度的数值精度,以及一个变量可以如何以有组织结构的方式一一如以表或数组的形式 ——代表一组比较简单的值等等。在许多编程语言中,一种关键的数据类型是指示字。指示 字变量本身没有值:;相反,它们含有计算机可以用来查找某个其他变量的信息——也就是说 它们指向另一个变量 表达式是语句的一段,描述要对一些程序变量执行的一系列运算,如X+YZ,其中X Y和Z为变量,运算方法为加和除。赋值语句给一个变量赋予得自某个表达式的值,而条 件语句则指定要被测试、然后用于选择接下来应该执行的其他语句的表达式。 过程与函数语句将某些代码块定义为以后可在程序中返回的进程或函数。这些语句也规 定程序员可以选择的变量与参数种类,以及当一个表达式使用过程或函数时代码将返回的值 的类型。许多编程语言也容许叫做宏的小型翻译程序。宏把使用程序员定义的语言结构编写 的代码段翻译成编程语言可以理解的语句 五、历史 编程语言几乎可以追溯到20世纪40年代数字计算机发明之时。最早的汇编语言,随着 商业计算机的推出,出现于20世纪50年代末。最早的过程语言是在20世纪50年代末到 20世纪60年代初开发的: FORTRAN语言由约翰·巴克斯创造,然后由格雷斯·霍珀创造了 COBOL语言。第一种函数式语言是LSP,由约翰·麦卡锡于20世纪50年代末编写。这3 种语言今天仍在广泛使用,但经历过大量修改 20世纪60年代末,出现了最早的面向对象的语言,如 SIMULA语言。逻辑语言在20 世纪70年代中期随着 PROLOG语言的推出而变得广为人知; PROLOG语言是一种用于编 写人工智能软件的语言。在20世纪70年代,过程语言继续发展,出现了 ALGOL、 BASIC、 PASCAL、C和Ada等语言。 SMALLTALK语言是一种具有高度影响力的面向对象的语言, 它导致了面向对象的语言与过程语言在C++和更近期的JAVA语言中的结合。尽管纯粹的逻 辑语言受欢迎的程度有所下降,但其变体以现代数据库所使用的关系语言—如结构化查询 语言——的形式,变得至关重要 第五单元 课文A:计算机程序 、引言 计算机程序是指导计算机执行某个功能或功能组合的一套指令。要使指令得到执行,计 算机必须执行程序,也就是说,计算机要读取程序,然后按准确的顺序实施程序中编码的步
《计算机英语》参考译文和练习答案 12 据如何处理以及过程和函数的工作方式进行定义。程序员利用语句来操作编程语言的常见成 分,如变量和宏(程序中的小型程序)。 数据声明语句给予称为变量的程序元素以名称和属性。变量在程序中可以赋予不同的 值。变量可以具有的属性被称作类型,它们包括:变量中可能存储什么样的值,值中使用何 种程度的数值精度,以及一个变量可以如何以有组织结构的方式——如以表或数组的形式 ——代表一组比较简单的值等等。在许多编程语言中,一种关键的数据类型是指示字。指示 字变量本身没有值;相反,它们含有计算机可以用来查找某个其他变量的信息——也就是说, 它们指向另一个变量。 表达式是语句的一段,描述要对一些程序变量执行的一系列运算,如 X+Y/Z,其中 X、 Y 和 Z 为变量,运算方法为加和除。赋值语句给一个变量赋予得自某个表达式的值,而条 件语句则指定要被测试、然后用于选择接下来应该执行的其他语句的表达式。 过程与函数语句将某些代码块定义为以后可在程序中返回的进程或函数。这些语句也规 定程序员可以选择的变量与参数种类,以及当一个表达式使用过程或函数时代码将返回的值 的类型。许多编程语言也容许叫做宏的小型翻译程序。宏把使用程序员定义的语言结构编写 的代码段翻译成编程语言可以理解的语句。 五、历史 编程语言几乎可以追溯到 20 世纪 40 年代数字计算机发明之时。最早的汇编语言,随着 商业计算机的推出,出现于 20 世纪 50 年代末。最早的过程语言是在 20 世纪 50 年代末到 20 世纪 60 年代初开发的:FORTRAN 语言由约翰•巴克斯创造,然后由格雷斯•霍珀创造了 COBOL 语言。第一种函数式语言是 LISP,由约翰•麦卡锡于 20 世纪 50 年代末编写。这 3 种语言今天仍在广泛使用,但经历过大量修改。 20 世纪 60 年代末,出现了最早的面向对象的语言,如 SIMULA 语言。逻辑语言在 20 世纪 70 年代中期随着 PROLOG 语言的推出而变得广为人知;PROLOG 语言是一种用于编 写人工智能软件的语言。在 20 世纪 70 年代,过程语言继续发展,出现了 ALGOL、BASIC、 PASCAL、C 和 Ada 等语言。SMALLTALK 语言是一种具有高度影响力的面向对象的语言, 它导致了面向对象的语言与过程语言在 C++和更近期的 JAVA 语言中的结合。尽管纯粹的逻 辑语言受欢迎的程度有所下降,但其变体以现代数据库所使用的关系语言——如结构化查询 语言——的形式,变得至关重要。 第五单元 课文 A:计算机程序 一、引言 计算机程序是指导计算机执行某个功能或功能组合的一套指令。要使指令得到执行,计 算机必须执行程序,也就是说,计算机要读取程序,然后按准确的顺序实施程序中编码的步
《计算机英语》参考译文和练习答案 骤,直至程序结束。一个程序可多次执行,而且每次用户输给计算机的选项和数据不同,就 有可能得到不同的结果 程序可分为两大类:应用程序和操作系统。应用程序直接为用户执行某项功能,如字处 理或玩游戏。操作系统管理计算机和与之相连的各种资源和设备,如随机访问存储器、硬盘 驱动器、监视器、键盘、打印机和调制解调器,以便使其他程序可以使用它们。操作系统的 例子包括:DOS、 Windows95、OS/2和UNIX 程序开发 软件设计者通过特殊的应用程序来开发新程序,这些应用程序常被称作实用程序或开发 程序。程序员使用称作文本编辑器的另一种程序,来以称作编程语言的特殊标记编写新程序。 使用文本编辑器,程序员创建一个文本文件,这个文本文件是一个有序指令表,也称为程序 源文件。构成程序源文件的单个指令被称为源代码。在这个时候,一种特殊的应用程序将源 代码翻译成机器语言或目标代码——操作系统将认作真程序并能够执行的一种格式。 将源代码翻译成目标代码的应用程序有3种:编译器、解释器和汇编程序。这3种应用 程序在不同类型的编程语言上执行不同的操作,但是它们都起到将编程语言翻译成机器语言 的相同目的 编译器将使用 FORTRAN、C和 Pascal等高级编程语言编写的文本文件一次性从源代码 翻译成目标代码。这不同于BASC等解释执行的语言所采取的方式,在解释执行的语言中 程序是随着每条指令的执行而逐个语句地翻译成目标代码的。解释执行的语言的优点是,它 们可以立即开始执行程序,而不需要等到所有的源代码都得到编译。对程序的更改也可以相 当快地作出,而无需等到重新编译整个程序。解释执行的语言的缺点是,它们执行起来慢 因为每次运行程序,都必须对整个程序一次一条指令地翻译。另一方面,编译执行的语言只 编译一次,因此计算机执行起来要比解释执行的语言快得多。由于这个原因,编译执行的语 言更常使用,而且在专业和科学领域几乎总是得到采用。 另一种翻译器是汇编程序,它被用于以汇编语言编写的程序或程序组成部分。汇编语言 也是一种编程语言,但它比其他类型的高级语言更接近于机器语言。在汇编语言中,一条语 句通常可以翻译成机器语言的一条指令。今天,汇编语言很少用来编写整个程序,而是最经 常地采用于程序员需要直接控制计算机某个方面功能的场合。 程序经常被编写作一套较小的程序段,每段代表整个应用程序的某个方面。各段独立编 译之后,一种被称为连接程序的程序将所有编译好的程序段组合成一个可以执行的完整程 序 程序很少有第一次能够正确运行的,所以一种被称为调试程序的程序常被用来帮助査找 被称为程序错误的问题。调试程序通常在运行的程序中检测到一个事件,并向程序员指出事 件在程序代码中的起源 最近出现的编程系统,如Java,采取多种方法相结合的方式创建和执行程序。编译器取 来Java源程序,并将其翻译成中间形式。这样的中间程序随后通过因特网传送给计算机, 而这些计算机里的解释程序接下来将中间程序作为应用程序来执行。 、程序元素 大多数程序只是由少数几种步骤构成,这些步骤在整个程序中在不同的上下文和以不同 的组合方式多次重复。最常见的步骤执行某种计算,然后按照程序员指定的顺序,进入程序
《计算机英语》参考译文和练习答案 13 骤,直至程序结束。一个程序可多次执行,而且每次用户输给计算机的选项和数据不同,就 有可能得到不同的结果。 程序可分为两大类:应用程序和操作系统。应用程序直接为用户执行某项功能,如字处 理或玩游戏。操作系统管理计算机和与之相连的各种资源和设备,如随机访问存储器、硬盘 驱动器、监视器、键盘、打印机和调制解调器,以便使其他程序可以使用它们。操作系统的 例子包括:DOS、Windows 95、OS/2 和 UNIX。 二、程序开发 软件设计者通过特殊的应用程序来开发新程序,这些应用程序常被称作实用程序或开发 程序。程序员使用称作文本编辑器的另一种程序,来以称作编程语言的特殊标记编写新程序。 使用文本编辑器,程序员创建一个文本文件,这个文本文件是一个有序指令表,也称为程序 源文件。构成程序源文件的单个指令被称为源代码。在这个时候,一种特殊的应用程序将源 代码翻译成机器语言或目标代码——操作系统将认作真程序并能够执行的一种格式。 将源代码翻译成目标代码的应用程序有 3 种:编译器、解释器和汇编程序。这 3 种应用 程序在不同类型的编程语言上执行不同的操作,但是它们都起到将编程语言翻译成机器语言 的相同目的。 编译器将使用 FORTRAN、C 和 Pascal 等高级编程语言编写的文本文件一次性从源代码 翻译成目标代码。这不同于 BASIC 等解释执行的语言所采取的方式,在解释执行的语言中 程序是随着每条指令的执行而逐个语句地翻译成目标代码的。解释执行的语言的优点是,它 们可以立即开始执行程序,而不需要等到所有的源代码都得到编译。对程序的更改也可以相 当快地作出,而无需等到重新编译整个程序。解释执行的语言的缺点是,它们执行起来慢, 因为每次运行程序,都必须对整个程序一次一条指令地翻译。另一方面,编译执行的语言只 编译一次,因此计算机执行起来要比解释执行的语言快得多。由于这个原因,编译执行的语 言更常使用,而且在专业和科学领域几乎总是得到采用。 另一种翻译器是汇编程序,它被用于以汇编语言编写的程序或程序组成部分。汇编语言 也是一种编程语言,但它比其他类型的高级语言更接近于机器语言。在汇编语言中,一条语 句通常可以翻译成机器语言的一条指令。今天,汇编语言很少用来编写整个程序,而是最经 常地采用于程序员需要直接控制计算机某个方面功能的场合。 程序经常被编写作一套较小的程序段,每段代表整个应用程序的某个方面。各段独立编 译之后,一种被称为连接程序的程序将所有编译好的程序段组合成一个可以执行的完整程 序。 程序很少有第一次能够正确运行的,所以一种被称为调试程序的程序常被用来帮助查找 被称为程序错误的问题。调试程序通常在运行的程序中检测到一个事件,并向程序员指出事 件在程序代码中的起源。 最近出现的编程系统,如 Java,采取多种方法相结合的方式创建和执行程序。编译器取 来 Java 源程序,并将其翻译成中间形式。这样的中间程序随后通过因特网传送给计算机, 而这些计算机里的解释程序接下来将中间程序作为应用程序来执行。 三、程序元素 大多数程序只是由少数几种步骤构成,这些步骤在整个程序中在不同的上下文和以不同 的组合方式多次重复。最常见的步骤执行某种计算,然后按照程序员指定的顺序,进入程序
《计算机英语》参考译文和练习答案 的下一个步骤。 程序经常需要多次重复不长的一系列步骤,例如,浏览游戏得分表,从中找出最高得分 这种重复的代码序列称为循环 计算机所具有的使其如此有用的能力之一,就是它们能够作出条件判定,并根据正在处 理的数据的值执行不同的指令。 if-then-else(如果一则一否则)语句通过测试某个数据段 然后根据结果从两个指令序列中选出一个,来执行这个功能。这些选择对象中的指令之一可 能是一个goo语句,用以指引计算机从程序的另一个部分选择下一条指令。例如,一个程 序可能比较两个数,并依据比较的结果而分支到程序的另一个部分 goto instruction #10 else continue 程序经常不止一次地使用特定的一系列步骤。这样的一系列步骤可以组合成一个子例 程,而子例程根据需要可在主程序的不同部分进行调用或访问。每次调用一个子例程,计算 机都会记住它自己在该调用发生时处在程序的那个位置,以便在运行完该子例程后还能够回 到那里。在每次调用之前,程序可以指定子例程使用不同的数据,从而做到一个通用性很强 的代码段只编写一次,而被以多种方式使用 大多数程序使用几种不同的子例程。其中最常用的是函数、过程、库程序、系统程序以 及设备驱动程序。函数是一种短子例程,用来计算某个值,如角的计算,而该值计算机仅用 条基本指令无法计算。过程执行的是复杂一些的功能,如给一组名称排序。库程序是为许 多不同的程序使用而编写的子例程。系统程序和库程序相似,但实际上用于操作系统。它们 为应用程序提供某种服务,如打印一行文字。设备驱动程序是一种系统程序,它们加到操作 系统中,以使计算机能够与扫描仪、调制解调器或打印机等新设备进行通信。设备驱动程序 常常具有可以直接作为应用程序执行的特征。这样就使用户得以直接控制该设备。这一点很 有用,例如,在彩色打印机更换墨盒后,需要重新调整以达到最佳打印质量的情况下。 四、程序功能 现代计算机通常将程序存储在计算机可以随机访问的某种形式的磁性存储介质上,如固 定放在计算机中的硬盘或者便携式的软盘。这些磁盘上被称为目录的额外信息,指明盘上各 种程序的名称、它们写入盘中的时间以及它们在磁盘介质上的开始位置。当用户命令计算机 执行一个特定应用程序时,操作系统就浏览这些目录,找到程序,并将一个副本读入随机存 储器。操作系统然后命令中央处理器在程序的起始位置开始执行指令。程序起始位置的指令 为计算机处理信息作好准备,其方法是在随机存储器中找到闲置内存位置来容纳工作数据, 从盘中取回用户指出的标准方式选项和默认值的副本,并在监视器上绘制初始显示。 应用程序通过调用系统程序而对用户输入的任何信息都要求一个副本。操作系统将如此 输入的任何数据转换成标准的内部形式。应用程序然后使用该信息决定下一步干什么——例 如,执行某项期望的处理功能——如重新定义一页文本的格式,或者从盘上的另一个文件获 取某些额外信息。两种情况无论是哪一种,都要调用其他系统程序,以事实上完成结果的显 示或对盘上文件的访问。 运行结束或接到退出的提示时,应用程序进行进一步的系统调用,以确保所有需要保存 的数据已写回磁盘。然后,应用程序向操作系统进行最后一次系统调用,指明它已运行结束 操作系统接下来释放随机存储器和该应用程序使用的任何设备,并等待用户的命令,以开始 运行另一个程序
《计算机英语》参考译文和练习答案 14 的下一个步骤。 程序经常需要多次重复不长的一系列步骤,例如,浏览游戏得分表,从中找出最高得分。 这种重复的代码序列称为循环。 计算机所具有的使其如此有用的能力之一,就是它们能够作出条件判定,并根据正在处 理的数据的值执行不同的指令。if-then-else(如果-则-否则)语句通过测试某个数据段, 然后根据结果从两个指令序列中选出一个,来执行这个功能。这些选择对象中的指令之一可 能是一个 goto 语句,用以指引计算机从程序的另一个部分选择下一条指令。例如,一个程 序可能比较两个数,并依据比较的结果而分支到程序的另一个部分: If x is greater than y then goto instruction #10 else continue 程序经常不止一次地使用特定的一系列步骤。这样的一系列步骤可以组合成一个子例 程,而子例程根据需要可在主程序的不同部分进行调用或访问。每次调用一个子例程,计算 机都会记住它自己在该调用发生时处在程序的那个位置,以便在运行完该子例程后还能够回 到那里。在每次调用之前,程序可以指定子例程使用不同的数据,从而做到一个通用性很强 的代码段只编写一次,而被以多种方式使用。 大多数程序使用几种不同的子例程。其中最常用的是函数、过程、库程序、系统程序以 及设备驱动程序。函数是一种短子例程,用来计算某个值,如角的计算,而该值计算机仅用 一条基本指令无法计算。过程执行的是复杂一些的功能,如给一组名称排序。库程序是为许 多不同的程序使用而编写的子例程。系统程序和库程序相似,但实际上用于操作系统。它们 为应用程序提供某种服务,如打印一行文字。设备驱动程序是一种系统程序,它们加到操作 系统中,以使计算机能够与扫描仪、调制解调器或打印机等新设备进行通信。设备驱动程序 常常具有可以直接作为应用程序执行的特征。这样就使用户得以直接控制该设备。这一点很 有用,例如,在彩色打印机更换墨盒后,需要重新调整以达到最佳打印质量的情况下。 四、程序功能 现代计算机通常将程序存储在计算机可以随机访问的某种形式的磁性存储介质上,如固 定放在计算机中的硬盘或者便携式的软盘。这些磁盘上被称为目录的额外信息,指明盘上各 种程序的名称、它们写入盘中的时间以及它们在磁盘介质上的开始位置。当用户命令计算机 执行一个特定应用程序时,操作系统就浏览这些目录,找到程序,并将一个副本读入随机存 储器。操作系统然后命令中央处理器在程序的起始位置开始执行指令。程序起始位置的指令 为计算机处理信息作好准备,其方法是在随机存储器中找到闲置内存位置来容纳工作数据, 从盘中取回用户指出的标准方式选项和默认值的副本,并在监视器上绘制初始显示。 应用程序通过调用系统程序而对用户输入的任何信息都要求一个副本。操作系统将如此 输入的任何数据转换成标准的内部形式。应用程序然后使用该信息决定下一步干什么——例 如,执行某项期望的处理功能——如重新定义一页文本的格式,或者从盘上的另一个文件获 取某些额外信息。两种情况无论是哪一种,都要调用其他系统程序,以事实上完成结果的显 示或对盘上文件的访问。 运行结束或接到退出的提示时,应用程序进行进一步的系统调用,以确保所有需要保存 的数据已写回磁盘。然后,应用程序向操作系统进行最后一次系统调用,指明它已运行结束。 操作系统接下来释放随机存储器和该应用程序使用的任何设备,并等待用户的命令,以开始 运行另一个程序
《计算机英语》参考译文和练习答案 五、历史 人们用程序的形式存储一系列指令已经有几个世纪了。18世纪的音乐盒和19世纪末与 20世纪初的自动钢琴,就可以播放音乐程序。这些程序以一系列金属针或纸孔的形式存储, 每一行(针或孔)表示何时演奏一个音符,而针或孔则表明此时演奏什么音符。19世纪初, 随着法国发明家约瑟夫一玛丽·雅卡尔的由穿孔卡片控制的织机的发明,对物理设备更精巧 的控制变得常见了。在编织特定图案的过程中,织机的各个部分得进行机械定位。为了使这 个过程自动化,雅卡尔使用一张纸质卡片代表织机的一个定位,用卡片上的孔来指示该执行 织机的哪个操作。整条花毯的编织可被编码到一叠这样的卡片上,同样的一叠卡片每次使用 都会编出相同的花毯图案。在开发和使用的程序中,有的由24,000多张卡片构成 世界上第一台可编程的机器是由英国数学家和发明家查尔斯·巴比奇设计的,但从未完 全制造成。这台叫做分析机的机器,使用和雅卡尔的织机类似的穿孔卡片来选择每个步骤应 执行的具体算术运算。插入不同的卡片组,就会改变机器执行的运算。这种机器几乎能在现 代计算机中找到所有的对应物,但它是机械化的,而非电气化的。分析机的制造从未完成, 因为制造它所需要的技术当时不存在。 供分析机使用的最早卡片组程序是由诗人拜伦勋爵的女儿、英国数学家奥古斯塔…埃达 拜伦开发的。由于这个原因,她被确认为世界上第一位程序员。 现代的内部存储计算机程序的概念是由美籍匈牙利数学家约翰→冯诺伊曼于1945年首 先提出来的。冯诺伊曼的想法是使用计算机的存储器来既存储数据又存储程序。这样,程 序可被视作数据,可像数据一样被其他程序处理。这一想法极大地简化了计算机中的程序存 储与执行的任务 六、未来 由于计算机使用的增加,自20世纪50年代以来,计算机科学领域发展迅猛。作为对用 户需求和技术发展的反应,计算机程序在这一时期经历了许多变化。计算领域的新思想,如 并行计算、分布式计算和人工智能,从根本上改变了一度决定程序形式与功能的传统概念。 工作在并行计算—一其中多个中央处理器合作同时处理同一个问题一一领域中的科学 家,推出了许多新的程序模型。在并行计算中,一个问题的组成部分由不同的处理器同时处 理,这样就加快了问题的解决速度。由于并行处理计算机的极端复杂性以及使其尽可能有效 地运行所包含的困难,为这种系统设计程序的科学家和工程师面临着许多挑战。被称为分布 式计算的另一种并行计算,使用许多互相连接的计算机的中央处理器来解决问题。用来在分 布式计算应用环境中处理信息的计算机,常常通过因特网互相连接。因特网的应用正在成为 分布式计算的一种特别有用的形式,尤其是在使用Java等编程语言的情况下。在这种应用 中,用户登录到一个站点,并下载一个Java程序到其计算机上。该Java程序运行时,就与 其主站点上的其他程序进行通信,也可以与不同计算机或站点上运行的其他程序进行通信。 人工智能(AⅠ)的研究,已经导致几种其他的新程序设计风格的产生。例如,逻辑程 序不是由供计算机盲目执行的单个指令构成,而是由成套的规则组成:如果x发生,则执行 y。一种被称为推理机的特殊程序,在向其提出一个新问题时,就使用这些规则来“推理” 出一个结果。逻辑程序的用途包括对复杂系统的自动监控和证明数学定律。 种全然不同的计算方法称为神经网络,在这种计算中没有传统意义上的程序。神经网 络是一组旨在模拟大脑的具有高度互连性的简单处理单元。神经网络不是像传统计算机那样 通过程序来指导信息处理,而是依靠其处理单元的连接方式来处理信息。给神经网络编程的
《计算机英语》参考译文和练习答案 15 五、历史 人们用程序的形式存储一系列指令已经有几个世纪了。18 世纪的音乐盒和 19 世纪末与 20 世纪初的自动钢琴,就可以播放音乐程序。这些程序以一系列金属针或纸孔的形式存储, 每一行(针或孔)表示何时演奏一个音符,而针或孔则表明此时演奏什么音符。19 世纪初, 随着法国发明家约瑟夫―玛丽•雅卡尔的由穿孔卡片控制的织机的发明,对物理设备更精巧 的控制变得常见了。在编织特定图案的过程中,织机的各个部分得进行机械定位。为了使这 个过程自动化,雅卡尔使用一张纸质卡片代表织机的一个定位,用卡片上的孔来指示该执行 织机的哪个操作。整条花毯的编织可被编码到一叠这样的卡片上,同样的一叠卡片每次使用 都会编出相同的花毯图案。在开发和使用的程序中,有的由 24,000 多张卡片构成。 世界上第一台可编程的机器是由英国数学家和发明家查尔斯•巴比奇设计的,但从未完 全制造成。这台叫做分析机的机器,使用和雅卡尔的织机类似的穿孔卡片来选择每个步骤应 执行的具体算术运算。插入不同的卡片组,就会改变机器执行的运算。这种机器几乎能在现 代计算机中找到所有的对应物,但它是机械化的,而非电气化的。分析机的制造从未完成, 因为制造它所需要的技术当时不存在。 供分析机使用的最早卡片组程序是由诗人拜伦勋爵的女儿、英国数学家奥古斯塔••埃达 •拜伦开发的。由于这个原因,她被确认为世界上第一位程序员。 现代的内部存储计算机程序的概念是由美籍匈牙利数学家约翰••冯•诺伊曼于 1945 年首 先提出来的。冯•诺伊曼的想法是使用计算机的存储器来既存储数据又存储程序。这样,程 序可被视作数据,可像数据一样被其他程序处理。这一想法极大地简化了计算机中的程序存 储与执行的任务 六、未来 由于计算机使用的增加,自 20 世纪 50 年代以来,计算机科学领域发展迅猛。作为对用 户需求和技术发展的反应,计算机程序在这一时期经历了许多变化。计算领域的新思想,如 并行计算、分布式计算和人工智能,从根本上改变了一度决定程序形式与功能的传统概念。 工作在并行计算——其中多个中央处理器合作同时处理同一个问题——领域中的科学 家,推出了许多新的程序模型。在并行计算中,一个问题的组成部分由不同的处理器同时处 理,这样就加快了问题的解决速度。由于并行处理计算机的极端复杂性以及使其尽可能有效 地运行所包含的困难,为这种系统设计程序的科学家和工程师面临着许多挑战。被称为分布 式计算的另一种并行计算,使用许多互相连接的计算机的中央处理器来解决问题。用来在分 布式计算应用环境中处理信息的计算机,常常通过因特网互相连接。因特网的应用正在成为 分布式计算的一种特别有用的形式,尤其是在使用 Java 等编程语言的情况下。在这种应用 中,用户登录到一个站点,并下载一个 Java 程序到其计算机上。该 Java 程序运行时,就与 其主站点上的其他程序进行通信,也可以与不同计算机或站点上运行的其他程序进行通信。 人工智能(AI)的研究,已经导致几种其他的新程序设计风格的产生。例如,逻辑程 序不是由供计算机盲目执行的单个指令构成,而是由成套的规则组成:如果 x 发生,则执行 y。一种被称为推理机的特殊程序,在向其提出一个新问题时,就使用这些规则来“推理” 出一个结果。逻辑程序的用途包括对复杂系统的自动监控和证明数学定律。 一种全然不同的计算方法称为神经网络,在这种计算中没有传统意义上的程序。神经网 络是一组旨在模拟大脑的具有高度互连性的简单处理单元。神经网络不是像传统计算机那样 通过程序来指导信息处理,而是依靠其处理单元的连接方式来处理信息。给神经网络编程的