logo资料库

计算机英语第三版翻译.doc

第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
资料共32页,剩余部分请下载后查看
第一单元:计算机与计算机科学 课文 A:计算机概览 一、引言 计算机是一种电子设备,它能接收一套指令或一个程序,然后通过对数字数据进行运算 或对其他形式的信息进行处理来执行该程序。 要不是由于计算机的发展,现代的高科技世界是不可能产生的。不同类型和大小的计算 机在整个社会被用于存储和处理各种数据,从保密政府文件、银行交易到私人家庭账目。计 算机通过自动化技术开辟了制造业的新纪元,而且它们也增强了现代通信系统的性能。在几 乎每一个研究和应用技术领域,从构建宇宙模型到产生明天的气象报告,计算机都是必要的 工具,并且它们的应用本身就开辟了人们推测的新领域。数据库服务和计算机网络使各种各 样的信息源可供使用。同样的先进技术也使侵犯个人隐私和商业秘密成为可能。计算机犯罪 已经成为作为现代技术代价组成部分的许多风险之一。 二、历史 第一台加法机是法国科学家、数学家和哲学家布莱斯.帕斯卡于 1642 年设计的,它是数 字计算机的先驱。这个装置使用了一系列带有 10 个齿的轮子,每个齿代表从 0 到 9 的一个 数字。 轮子互相连接,从而通过按照正确的齿数向前转动轮子,就可以将数字彼此相加。17 世纪 70 年代,德国哲学家和数学家戈特弗里德.威廉.莱布尼兹对这台机器进行了改良,设计了一台 也能做乘法的机器。 法国发明家约瑟夫―玛丽.雅卡尔,在设计自动织机时,使用了穿孔的薄木板来控制复 杂图案的编织。在 19 世纪 80 年代期间,美国统计学家赫尔曼.何勒里斯,想出了使用类似 雅 卡尔的木板那样的穿孔卡片来处理数据的主意。通过使用一种将穿孔卡片从电触点上移过的 系统,他得以为 1890 年的美国人口普查汇编统计信息。 1、分析机 也是在 19 世纪,英国数学家和发明家查尔斯.巴比奇,提出了现代数字计算机的原理。 他构想出旨在处理复杂数学题的若干机器,如差分机。许多历史学家认为,巴比奇及其合伙 人,数学家奥古斯塔.埃达.拜伦,是现代数字计算机的真正先驱。巴比奇的设计之一,分析 机,具有现代计算机的许多特征。它有一个以一叠穿孔卡片的形式存在的输入流、一个保存 数据的“仓库”、一个进行算术运算的“工厂”和一个产生永久性纪录的打印机。巴比奇未 能将这个想法付诸实践,尽管在那个时代它在技术上很可能是可行的。 2、早期的计算机 模拟计算机是 19 世纪末开始制造的。早期型号是靠转动的轴和齿轮来进行计算的。用任 何其他方法都难以计算的方程近似数值,可以用这样的机器来求得。开尔文勋爵制造了一台 机械潮汐预报器,这实际上就是一台专用模拟计算机。第一次和第二次世界大战期间,机械 模拟计算系统,以及后来的电动模拟计算系统,在潜艇上被用作鱼雷航线预测器,在飞机上 被用作轰炸瞄准具的控制器。有人还设计了另一个系统,用于预测密西西比河流域春天的洪 水。 3、电子计算机 第二次世界大战期间,以伦敦北面的布莱切利公园为工作地点的一组科学家和数学家, 制造了最早的全电子数字计算机之一:“巨人”。到 1943 年 12 月,这个包含了 1500 个真空 管 的“巨人”开始运转了。它被以艾伦.图灵为首的小组用于破译德国用恩尼格码加密的无线
电报,他们的尝试大部分是成功的。 除此而外,在美国,约翰.阿塔纳索夫和克利福德.贝里早在 1939 年就在艾奥瓦州立学院 制造了一台原型电子机。这台原型机和后来的研究工作都是悄悄完成的,而且后来因 1945 年 电子数字积分计算机(ENIAC)的研制而显得相形见绌。ENIAC 被授予了专利。但是,数 十 年后,在 1973 年,当该机被揭露吸收了在阿塔纳索夫―贝里计算机中首次使用的原理后, 这 项专利被废除了。 图 1 A - 1:E N IAC 是最早的全电子数字计算机之一。 ENIAC(见图 1A-1)含有 18,000 个真空管,具有每分钟几百次的乘法运算速度,但是, 其程序最初是通过导线传送到处理器内的,必须由人工更改。根据美籍匈牙利数学家约翰. 冯.诺伊曼的想法,后来制造的机器带有一个程序存储器。指令像数据一样存储在“存储器” 中,使计算机在执行过程中摆脱了纸带阅读器的速度限制,并使问题在不给计算机重新接线 的情况下得以解决。 20 世纪 50 年代末,晶体管在计算机中的应用,标志着比在真空管机器情况下体积小、速 度快、用途广的逻辑元件的出现。由于晶体管使用的功率小得多,寿命也长得多,仅这项发 展本身就导致了被称之为第二代计算机的改良机器的产生。元件变小了,元件的间距也变小 了,而且系统的制造成本也变得低得多。 4、集成电路 20 世纪 60 年代末,集成电路(见图 1A-2)得到采用,从而有可能将许多晶体管制作在一 块硅衬底上,晶体管之间用覆镀在适当位置的导线相连接。集成电路导致价格、尺寸和故障 率的进一步降低。20 世纪 70 年代中期,随着大规模集成电路和后来的超大规模集成电路(微 芯片)的采用,成千上万个彼此相连的晶体管被蚀刻在一块硅衬底上,于是微处理器成为现 实。 图 1 A - 2:集成电路 那么,再回过头来看看现代计算机处理开关值的能力:20 世纪 70 年代的计算机一般一次 能够处理 8 个开关值。也就是说,在每个循环中,它们能处理 8 个二进制数字或位的数据。 8 个位为一组,称为一个字节;每个字节包含 256 个开与关(或 0 与 1)的可能模式。每个模 式 相当于一条指令、一条指令的一部分或者一个特定的数据类型,如一个数字、一个字符或一 个图形符号。例如,11010010 这个模式可能是二进制数据——在此情况下代表 210 这个十 进 制数字,或者它可能是一条指令,告诉计算机将存储在其交换设备中的数据与存储在存储芯 片某个位置的数据进行比较。 一次能处理 16、32 和 64 位数据的处理器的研制,提高了计算机的速度。一台计算机能够 处理的全部可识别模式——操作总清单——称为其指令集。随着现代数字计算机的不断发 展,这两个因素——能够同时处理的位数和指令集的大小——在继续增长。 三、硬件 不论尺寸大小,现代数字计算机在概念上都是类似的。然而,根据成本与性能,它们可 分为几类:个人计算机或微型计算机,一种成本较低的机器,通常只有桌面大小(尽管“膝 上型计算机”小到能够放入公文包,而“掌上型计算机”能够放入口袋);工作站,一种具 有增强型图形与通信能力、从而使其对于办公室工作特别有用的微型计算机;小型计算机,
一般就个人使用而言太昂贵,其性能适合于工商企业、学校或实验室;以及大型机,一种大 型的昂贵机器,具有满足大规模工商企业、政府部门、科研机构或者诸如此类机构需要的能 力(其中体积最大、速度最快的称为巨型计算机)。 一台数字计算机不是单一的机器。确切地说,它是由 5 个不同的要素组成的系统:(1) 中央处理器;(2)输入设备;(3)存储设备;(4)输出设备;以及(5)被称作总线的通信 网络,它将系统的所有要素连接起来并将系统与外界连接起来。 四、编程 一个程序就是一系列指令,告诉计算机硬件对数据执行什么样的操作。程序可以内嵌在 硬件本身里,或以软件的形式独立存在。在一些专门或“专用”计算机中,操作指令被嵌入 其电路里;常见的例子有计算器、手表、汽车发动机和微波炉中的微型计算机。另一方面, 通用计算机尽管含有一些内置的程序(在只读存储器中)或者指令(在处理器芯片中),但 依靠外部程序来执行有用的任务。计算机一旦被编程,就只能做在任何特定时刻控制它的软 件所允许它做的事情。广泛使用的软件包括一系列各种各样的应用程序——告诉计算机如何 执行各种任务的指令。 五、未来的发展 计算机发展的一个持续不断的趋势是微小型化,亦即将越来越多的电路元件压缩在越来 越小的芯片空间内的努力。研究人员也在设法利用超导性来提高电路的功能速度。超导性是 在超低温条件下在某些材料中观察到的电阻减小现象。 计算机发展的另一个趋势是“第五代”计算机的研制工作,亦即研制可以解决复杂问题 而且其解决方法用“创造性的”这个词来形容或许最终名副其实的计算机,理想的目标是真 正的人工智能。正在积极探索的一条道路是并行处理计算,亦即利用许多芯片来同时执行数 个不同的任务。一种重要的并行处理方法是模仿神经系统结构的神经网络。另一个持续不断 的趋势是计算机联网的增加。计算机联网现在使用由卫星和电缆链路构成的世界范围的数据 通信系统,来将全球的计算机连在一起。此外,大量的研究工作还投入在探索“光”计算机 的可能性上——这种硬件处理的不是电脉冲而是快得多的光脉冲。 第二单元:计算机体系结构 课文 A:计算机硬件 一、引言 计算机硬件是计算机运行所需要的设备,由可被物理操纵的部件组成。这些部件的功能 一般分为 3 个主要类别:输入、输出和存储。这些类别的部件与微处理器相连接,特别是与 计算机的中央处理器相连接。中央处理器系电子线路,它通过称为总线的线路或电路来提供 计算能力和对计算机进行控制。 另一方面,软件是计算机用来处理数据的一套指令,如文字处理程序或电子游戏。这些 程序通常被存储起来,并由计算机硬件调入和调出中央处理器。软件也控制着硬件如何利用: 例如,如何从存储设备中检索信息。输入与输出硬件的交互是由基本输入/输出系统(BIOS) 软件控制的。 尽管微处理器在技术上仍被认为是硬件,但其部分功能也与计算机软件有关系。既然微 处理器同时具有硬件与软件的特征,它们因此经常被称作固件。 二、输入硬件 输入硬件由给计算机提供信息和指令的外部设备——亦即计算机中央处理器以外的部 件——组成。光笔是带有光敏端头的输入笔,用来在计算机显示屏上直接写画,或者通过按 光笔上的夹子或用光笔接触屏幕来在屏幕上选择信息。这种笔含有光传感器,用于识别笔所 经过的屏幕部分。鼠标是为一只手抓握而设计的指示设备。它在底部有一个检测装置(通常 是一个圆球),使用户能够通过在一个平面上移动鼠标来控制屏幕上指针或光标的运动。该
装置滑过平面时,光标随着在屏幕上移动。要在屏幕上选择项目或命令,用户就点击鼠标上 的按钮。操纵杆是由一根杆子组成的指示设备,该杆以向多个方向移动来操纵计算机屏幕上 的光标或者其他图形对象。键盘是一个像打字机的设备,它使用户得以向计算机键入文本和 命令。有些键盘有特殊功能键或集成指示设备,如轨迹球或者可以让用户通过手指的移动来 移动屏幕上光标的触敏区。 光扫描仪利用光感应设备将图片或文本等形式的图像转换成计算机能够处理的电子信 号。例如,一张照片可以扫入一台计算机,然后包括在该计算机创建的文本文件中。两种最 常见的扫描仪类型是平板扫描仪和手持式扫描仪,前者类似一台办公室用复印机,后者用手 动的方式从要处理的图像上扫过。麦克风是将声音转换成可被计算机存储、处理和回放的信 号的设备。语音识别模块是将话语转换成计算机能够识别和处理的信息的设备。 调制解调器代表调制器―解调器,是将计算机与电话线连接、允许信息传送给或接收自 另一台计算机的设备。每台发送或接收信息的计算机都必须与调制解调器相连接。一台计算 机发送的信息由调制解调器转换成音频信号,然后通过电话线传送到接收端调制解调器,由 其将信号转换成接收端计算机能够理解的信息。 三、输出硬件 输出硬件由将信息从计算机中央处理器传给计算机用户的外部设备构成。视频显示器或 屏幕将计算机生成的信息转换成可视信息。显示器一般有两种形式:阴极射线管视频屏幕和 液晶显示视频屏幕。基于阴极射线管的屏幕或监视器看起来就像一台电视机。从中央处理器 输出的信息,使用电子束显示出来,其过程是电子束扫描荧光屏,而荧光屏则发出光并产生 图像。基于液晶显示器的屏幕将可视信息显示在比基于阴极射线管的视频监视器平且小的屏 幕上。液晶显示器常常用于膝上型计算机。 打印机将计算机输出的文本和图像打印在纸上。点阵打印机使用细小的金属丝打击色 带,从而形成字符。激光打印机使用光束在磁鼓上画图像,然后由磁鼓吸起称为墨粉的微小 黑粒。墨粉熔凝到纸上,形成图像。喷墨打印机将小墨滴喷射到纸上,形成字符和图像。 四、存储硬件 存储硬件永久性地存储信息和程序,供计算机检索。两种主要的存储设备是磁盘驱动器 和存储器。磁盘驱动器有几种类型:硬盘、软盘、磁光盘和光盘。硬盘驱动器将信息存储在 盘中嵌入的磁性颗粒中。硬盘驱动器通常是计算机的固定部分,能存储大量的信息并对其进 行非常快速的检索。软盘驱动器也将信息存储在磁性颗粒中,但这些颗粒是嵌入可移动的盘 中的,而这些盘既可能是软的也可能是硬的。软盘比硬盘存储的信息少,检索该信息的速度 也慢得多。磁光盘驱动器将信息存储在对激光和磁场均敏感的可移动盘上。它们可存储的信 息通常与硬盘一样多,但检索速度稍微慢一点。由反射材料制成的光盘,其表面烧蚀出凹陷 区。光盘驱动器(只读光盘存储器,CD-ROM)就是将信息存储于此。存储在只读光盘存储 器上的信息不能擦除或用新信息盖写。它们能够存储和硬盘驱动器差不多的信息量,但信息 检索速度比其慢。 存储器指存储信息供中央处理器快速检索的计算机芯片。随机存储器(RAM)用来存储 操作计算机程序的信息和指令。通常,程序由磁盘驱动器的存储区调到随机存储器中。随机 存储器也称作易失性存储器,因为当计算机的电源关闭时,计算机芯片中的信息随着丢失。 只读存储器(ROM)包含必须永久性可供计算机操作使用的关键信息和软件,如从开机到 关 机一直指挥计算机运行的操作系统。只读存储器叫做非易失性存储器,因为当计算机的电源 关闭时,存储芯片中的信息不会丢失。 有些设备有不止一种用途。例如,软盘也可用作输入设备,如果它们含有计算机用户要 使用和处理的信息的话。此外,它们也可用作输出设备,如果用户想将计算结果存储在它们
上面的话。 五、硬件的连接 要想运转,硬件需要物理连接,使部件之间能够通信和交互。总线提供了一种常见的互 连系统。它由一组导线或电路组成,在计算机的内部组成部分之间协调和移动信息。计算机 总线由两条通道组成:一条由中央处理器用来给数据定位,叫做地址总线;另一条用来将该 数据送往那个地址,叫做数据总线。总线可用两个特征来描述:一次可以处理的信息量—— 称为总线宽度,以及传送这些数据的速度。 串行连接是一根或一组导线,用于将信息从中央处理器传送到外部设备,如鼠标、键盘、 调制解调器、扫描仪和一些类型的打印机。这种连接一次只能传送一段数据,因此比较慢。 使用串行连接的好处在于它能提供远距离的有效连接。 并行连接使用多组导线来同时传送数个信息块。多数扫描仪和打印机使用这种连接方 式。并行连接比串行连接速度快得多,但它仅限于中央处理器和外部设备之间不到 3 米(10 英尺)的距离。 第三单元:计算机语言与编程 课文 A:编程语言 一、引言 在计算机科学中,编程语言是用于编写可由计算机运行的一系列指令(计算机程序)的 人工语言。与英语等自然语言相类似,编程语言有词汇、语法和句法。然而,自然语言不适 合为计算机编程,因为它们会引起歧义,也就是说它们的词汇和语法结构可能被用多种方式 进行解释。用于计算机编程的语言必须有简单的逻辑结构,它们的语法、拼写和标点符号规 则必须精确。 编程语言在复杂性和通用程度上差异很大。一些编程语言是为了处理特定类型的计算问 题或为了用于特定型号的计算机系统而编写的。例如,FORTRAN 和 COBOL 等编程语言是 为 解决某些普遍的编程问题类型而编写的——FORTRAN 是为了科学领域的应用,而 COBOL 是 为了商业领域的应用。尽管这些语言旨在处理特定类型的计算机问题,但它们具有很高的可 移植性,也就是说它们可以用来为多种类型的计算机编程。其他的语言,如机器语言,是为 一种特定型号的计算机系统,甚至是一台特定的计算机,在某些研究领域使用而编写的。最 常用的编程语言具有很高的可移植性,可以用于有效地解决不同类型的计算问题。像 C、 PASCAL 和 BASIC 这样的语言就属于这一范畴。 二、语言类型 编程语言可分为低级语言和高级语言。低级编程语言或机器语言,是编程语言中最基础 的类型,可以被计算机直接理解。机器语言视计算机制造商与型号不同而有所区别。高级语 言是必须首先翻译成机器语言计算机才能理解和处理的编程语言。C、C++、PASCAL 和 FORTRAN 都是高级语言的例子。汇编语言是中级语言,非常接近于机器语言,没有其他高 级语言所表现出的语言复杂程度,但仍然得翻译成机器语言。 1、机器语言 在机器语言中,指令被写成计算机能够直接理解的 1 和 0(称作位)序列。一条机器语言 指令一般告诉计算机 4 件事:(1)到计算机主存(随机存储器)的什么位置去找一两个数字 或简单的数据片;(2)要执行的简单操作,如将两个数字相加;(3)在主存的什么位置存 放该简单操作的结果;(4)到什么位置去找下一条要执行的指令。尽管所有的可执行程序 最终都是以机器语言的形式被计算机读入的,但它们并非都是用机器语言编写的。直接用机 器语言编程极端困难,因为指令是 0 和 1 的序列。一条典型的机器语言指令可能写成 10010
1100 1011,意思是把存储寄存器 A 的内容加到存储寄存器 B 的内容中。 2、高级语言 高级语言是相对复杂的一系列语句,它们使用来自人类语言的词汇和句法。高级语言比 汇编语言或机器语言类似于正常的人类语言,因此用高级语言来编写复杂的程序比较容易。 这些编程语言可以更快地开发更大和更复杂的程序。然而,高级语言必须由称为编译器的另 外一种程序翻译成机器语言,计算机才能理解它们。因为这个原因,与用汇编语言编写的程 序相比较,用高级语言编写的程序可能运行时间长,占用内存多。 3、汇编语言 计算机程序员通过使用汇编语言,使机器语言程序比较容易编写。在汇编语言中,每个 语句大致对应于一条机器语言指令。汇编语言的语句是借助易于记忆的命令编写的。在一个 典型的汇编语言语句中,把存储寄存器 A 的内容加到存储寄存器 B 的内容中这一命令,可 能写 成 ADD B, A。汇编语言与机器语言具有某些共同的特征。例如,对特定的位进行操控,用 汇 编语言和机器语言都是可行的。当尽量减少程序的运行时间很重要时,程序员就使用汇编语 言,因为从汇编语言到机器语言的翻译相对简单。汇编语言也用于计算机的某个部分必须被 直接控制的情况,如监视器上的单个点或者单个字符向打印机的流动。 三、高级语言的分类 高级语言通常分为面向过程语言、函数式语言、面向对象语言或逻辑语言。当今最常见 的高级语言是面向过程语言。在这种语言中,执行某个完整功能的一个或多个相关的语句块 组成一个程序模块或过程,而且被给予诸如“过程 A”一类名称。如果在程序的其他地方需 要同样的操作序列,可以使用一个简单的语句调回这个过程。实质上,一个过程就是一个小 型程序。一个大型程序可以通过将执行不同任务的过程组合在一起而构成。过程语言使程序 变得比较短,而且比较容易被计算机读取,但要求程序员将每个过程都设计得足够通用,能 用于不同的情况。 函数式语言像对待数学函数一样对待过程,并允许像处理程序中的任何其他数据一样处 理它们。这就使程序构造在更高、更严密的水平上得以实现。函数式语言也允许变量——在 程序运行过程中可以被用户指定和更改的数据符号——只被赋值一次。这样,通过减少对语 句执行的确切顺序给予关注的必要性,就简化了编程,因为一个变量没有必要每次在一个程 序语句中用到,都重新声明或重新说明。来自函数式语言的许多思想已经成为许多现代过程 语言的关键部分。 面向对象语言是函数式语言的发展结果。在面向对象语言中,用来编写程序的代码和由 程序处理的数据,组合成叫做对象的单元。对象进一步组合成类,而类则定义对象必须具有 的属性。类的一个简单例子就是书这个类。这个类中的对象可能是小说和短篇小说。对象还 有某些与其相关的功能,称为方法。计算机通过使用一个对象的某种方法来访问该对象。方 法对对象中的数据执行某种操作,然后将值返回给计算机。对象的类也可进一步组合成层, 而在层中一个类的对象可继承另一个类的方法。面向对象语言提供的这种结构,使该语言对 于复杂的编程任务非常有用。 逻辑语言将逻辑用作其数学基础。逻辑程序由事实组和“如果―则”规则构成,“如果― 则”规则具体说明一组事实如何可以从其他事实组中推断出来,例如: 如果 X 语句为真,则 Y 语句为假。 在这样一个程序的执行过程中,一条输入语句可以按照逻辑从程序中的其他语句推断出 来。许多人工智能程序使用这种语言编写。 四、语言结构与成分
编程语言使用特定类型的语句或指令,来给程序提供功能结构。程序中的一个语句是表 达一个简单想法的基本句子——它的目的是给计算机一条基本指令。语句定义所允许的数据 类型、数据如何处理以及过程和函数的工作方式。程序员使用语句来操控编程语言的常见成 分,如变量和宏(程序中的小程序段)。 数据声明语句给称为变量的那些程序元素以名称和属性。变量在程序中可以赋予不同的 值。变量可以具有的属性称为类型,它们包括:变量中能保存哪些可能的值;这些值中使用 何种程度的数值精度;以及一个变量可以如何以有组织结构的方式——如以表或数组的形式 ——表示一组比较简单的值。在许多编程语言中,一个关键的数据类型是指针。指针变量本 身没有值,而是含有计算机可以用来查找某个其他变量的信息——也就是说,它们指向另一 个变量。 表达式是语句的一段,用于描述要对一些程序变量执行的一系列计算操作,如 X+Y/Z, 其中 X、Y 和 Z 为变量,加法和除法是计算操作。赋值语句给一个变量赋予得自某个表达 式的 值,而条件语句则指定要被测试、然后用于选择接下来应该执行的其他语句的表达式。 过程和函数语句将某些代码块定义为以后可在程序中回调的过程或函数。这些语句也定 义程序员可选的变量和参数种类,以及当表达式访问过程或函数时代码所返回的值的类型。 许多编程语言也容许叫做宏的小翻译程序。宏将那些用程序员定义的语言结构编写的代码段 翻译成编程语言可以理解的语句。 五、历史 编程语言几乎可以追溯到 20 世纪 40 年代数字计算机发明之时。随着商用计算机的推出, 最早的汇编语言出现于 20 世纪 50 年代末。最早的过程语言是在 20 世纪 50 年代末到 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、Windows 95、OS/2 和 UNIX。 二、程序开发 软件设计者使用经常被称为实用程序或开发程序的专门应用程序来创建新程序。程序员 使用称为文本编辑程序的另一种程序,来以称为编程语言的特殊符号编写新程序。程序员使 用文本编辑程序创建一个文本文件,这个文本文件是一个有序指令表,也称为程序源文件。 构成程序源文件的单个指令称为源代码。在这个时候,一种专门的应用程序将源代码翻译成 机器语言或目标代码——操作系统将认作真程序并能够执行的一种格式。 将源代码翻译成目标代码的应用程序有 3 种:编译程序、解释程序和汇编程序。这 3 种应 用程序有不同的操作方式,对不同类型的编程语言进行操作,但是,它们都要达到将编程语 言翻译成机器语言的相同目的。 编译程序将使用 FORTRAN、C 和 Pascal 等高级编程语言编写的文本文件一次性从源代 码翻译成目标代码。这不同于 BASIC 等解释执行的语言所采取的方式。在解释执行的语言 中, 程序是随着每条指令的执行而逐个语句地翻译成目标代码的。解释执行的语言的优点是,它 们可以立即开始执行程序,而不需要等到所有的源代码都得到编译。对程序的更改也可以相 当快地进行,无需等到程序重新编译完。解释执行的语言的缺点是,它们执行起来慢,因为 每次运行程序,都必须对整个程序一次一条指令地翻译。另一方面,编译执行的语言只编译 一次,因此计算机执行起来可比解释执行的语言快得多。由于这个原因,编译执行的语言比 解释执行的语言常用,而且,在专业和科学领域几乎总是应用编译执行的语言。 另一种翻译程序是汇编程序,它用于以汇编语言编写的程序或程序组成部分。汇编语言 也是一种编程语言,但它远比其他类型的高级语言类似于机器语言。在汇编语言中,一个语 句通常可以翻译成机器语言的一条指令。今天,汇编语言很少用来编写整个程序,而是最常 用于程序员需要直接控制计算机某方面功能的情况下。 程序经常编写为一组较小的程序片,每片表示整个应用程序的某个方面。每片独立编译 之后,一种称为连接程序的程序将所有翻译好的程序片组合成一个可执行程序。 程序罕有第一次能够正确运行的,所以一种称为调试程序的程序常被用来帮助查找称为 程序错误的问题。调试程序通常在运行的程序中检测到一个事件,并将程序员指引到该事件 在程序代码中的起源。 Java 等最近出现的编程系统,采取多种方法相结合的方式创建和执行程序。编译程序取 来 Java 源程序,并将其翻译成中间形式。这样的中间程序随后通过因特网传送给计算机, 而 计算机里的解释程序接着将中间形式作为应用程序来执行。 三、程序元素 多数程序仅由少数几种步骤构成,这些步骤在整个程序中在不同的上下文和以不同的组 合方式多次重复。最常见的步骤执行某种计算,然后按程序员指定的顺序,进入程序的下一 个步骤。 程序经常需要多次重复不长的一系列步骤,例如:在浏览游戏得分表并从中找出最高得 分时。这种重复的代码序列称为循环。 计算机具有的使其如此有用的能力之一,是它们能够作出条件判定,并根据正在处理的 数据的值执行不同的指令。if-then-else(如果-则-否则)语句执行这种功能,采用的方法 是测试某个数据片,然后根据结果从两个指令序列中选择一个。这些选择对象中的指令之一 可能是一个 goto 语句,用以指引计算机从程序的另一个部分选择下一条指令。例如,一个 程 序可能比较两个数,并视比较结果而分支到程序的另一个部分:
分享到:
收藏