




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二、程序设计语言层次体系图20.7.1说明了程序设计语言层次体系。图中将程序设计语言分为低级语言和高级语言两类。“级”是指程序员和计算机对话复杂程度。比如,就查询语言来说,程序员(常常是用户管理人员)只需要包含到计算机“做什么”,而无须包含到计算机“怎样做”。在高级语言中,程序员必需提供具体说明“做什么”和“怎样做”指令,而软件工具将帮助简化程序员工作。低级语言要求程序员具体说明由计算机实施每一级操作。在使用高级程序设计语言时,程序员无须记住数据在主存中存放单元。这是由系统自动做。而在使用低级语言时,程序员必需在程序中提供对应逻辑,方便监视数据在主存中物理位置。图20.7.1程序设计语言层次体系?低级语言即使大家用COBOL、PASCAL和FORTRAN来谈论程序设计,不过只有一个语言能够在给定计算机上实施。那就是所谓机器语言。全部其它语言全部要被编译(翻译成机器语言),并且最终用机器语言来实施。机器语言是很繁琐,因为指令(又称操作码或OP码)和运算数据单元是用二进制(一串0和1)来表示。符号语言(有时称作汇编语言或汇编级语言)含有一个本质上和机器语言一一对应指令系统。汇编语言优点是它用助记符号而不是用0和1来表示指令。比如,汇编语言中直接用“A”来表示“加”指令,而不用一串0和1来表示。在1970年之前,机器级和汇编级语言常常见于应用程序开发,尤其用于系统软件开发。当初信息服务人员认为目标程序利用计算机效率高。自那时以来使用高级语言不管在发挥人或是计算机效率上全部超出了机器语言。因为这一原因,多数现行程序设计全部是用高级语言来完成。?高级语言1.面向过程语言面向过程语言(POL)是极其灵活,能够用来刻划几乎全部科学和商业过程。程序次序地编写指令,而系统则依据用户要求进行处理。比如,工资系统就是使用POL来编定。除非由程序逻辑控制去做其它事情,不然程序中每一条指令全部是按次序实施。在一个工资单生成系统中,实施程序指令特定次序取决于被处理职员工资计算方法(是按月发工资,还是按工时计算工资)。对每个职员全部要反复该程序步骤次序。有三种关键POL:科学计算、商用和多用途。下面我们分别讨论每一个POL。(1)科学计算语言。科学计算语言是代数或公式化语言。这种语言是为了满足经典科学计算处理要求(矩阵操作、精度计算和其它方面)而设计。第一个而且仍然是最为流行科学计算语言是FORTRAN(公式翻译程序缩写)。尽管在没有商业语言时(在计算机不支持任何其它语言情况下)FORTRAN已作为一个商用语言来使用了,不过FORTRAN商业处理能力是有限。APL语言很快地抓住了部分用户(关键是工程师)。APL是唯一使用带有专用符号交互式键盘来编写程序语言。(2)商用语言。现在很流行第一个商用语言是COBOL(面向商业公用语言缩写)。它是一个功效很强而又极为冗长语言。发展COBOL语言前提是:该语言语句应该近似于英语。有些程序员发觉语言使用起来很麻烦。然而,COBOL语言尚处于方兴未艾时期,而且被广泛地接收。今天,大家正在继续对它进行改善。在若干年内,COBOL仍将是一个流行商用语言,不过使用该语言相对百分比将会下降。COBOL最适合于含有循环处理周期环境(比如打印工资支票)和数据操纵量相当大环境。美国国家标准研究所(ANSI)已经对COBOL和其它语言建立了标准。建立这些标准目标是使得在一台计算机上编写程序能够移植到另一台(即另一个厂商制造)机器上去。不幸是,ANSI标准极少被遵照;所以,COBOL程序只是部分可移植。报表程序生成程序(RPG)可能是仅次于COBOL最为流行商业语言了。最初设计RPG是在IBM企业数据录入级计算机上使用。它用于部分成批处理环境小型商业工作。RPG和其它POL不一样之处于于程序员还必需经过选择所要求程序设计特色来说明一些处理要求(比怎样时打印小计统计选择等等)。BASIC设计者最意图表现在该语言名字上——初学者通用符号指令码(BaginersAll-PurposeSymbolicInstructionalCode)。最初它被看成讲授程序设计一个工具,不过在这个“初学者”语言能力被充足扩充后,它变得如此流行,以致现在BASIC是小型计算机系统上用于应用程序设计一个上要语言。在大系统上也使用扩展BASIC,但不是用于生产系统。因为BASIC通常也用来进行少许科学计算,所以,有些人可能把它划归为多用途POL一类。(3)多用途语言。多用途语言对于商业和科学计算是相同有效。最为显著多用途语言是程序计算语言1/(即PL/T)。PL/1是在1956年由IBM企业普制出来,不过,和任何一个语言一样,它需要几年时间来排错。很多企业(关键是IBM企业用户),已经采取PL/1作为它们所使用唯一POL。在刚刚引入PL/1时,因为它克服了现有程序设计语言很多缺点而受到欢迎。然而,PL/1仍然没有得到(原先期望那样)普遍地接收。其原因并非它质量和能力,而是因为很多企业已花了巨大投资用COBOL和FORTAN编制了大量应用软件。同时也因为使用这两种语言势头还在增加。以最快速度发展起来语言是PASCAL,它是以17世纪数学家BlaisePascal来命名。PASCAL被看成是一个最新POL。尽管只有1%-2%商业生产程序是用PAS-CAL写,不过它能力、灵活性和自我说明结构是不可忽略。致使这个语言被广泛接收(而且接收面还在继续增大)原因或许是因为绝大多数学院和大学计算机科学教程主张将PASCAL作为未来POL。伴随毕业生将这种主张带进商业界,现在它已经引发了各界爱好。ADA是新近引入一个语言,它是美国国防部开发一个多用途语言。尽管只有少数人知道和了解ADA使用方法,然而对于它能否被广泛接收(不仅在军界,对其它部门也一样)。这一点,它设计者们是很乐观。2.面向问题语言面向问题语言,是专门为了满足某种特定应用或处理特定问题一组语句。面向问题有语言不要求像面向过程语言那种具体说明。比如,有多个面向问题语言就是专为统计分析而设计。这种语言用户将注意力更多地集中在输入和输出上,而不是在数学上。数学是嵌入在语言中。已经为几十种应用设计了多种面向问题语言,这些语言正在被用户使用。这些应用是:离散和连续模拟(比如,GPSS、SIMSCRIPT、GASP-IV),程控机器刀具(比如,APT),辅助工程师进行建筑和桥梁上受力点分析(比如,GOGO),辅助系统分析(比如,SAS)和辅助办公人员进行字处理(比如,SCRIBE)。面向问题语言含有做统计、字处理和任何语言所满足应用灵活性。然而,一个面向问题语言总是局限于某种应用。3.查询语言和其它高级语言相比,用户和用户管理人员更喜爱使用查询语言。然而,依据不一样情况,某个用户可能会发觉某种特定面向问题语言对她更有用。查询语言是朝着用户环境发展典范。一个用户管理人员经过多个小时培训和实践就能有效地使用一个查询语言。然后,她用很短时间就能从一个信息系统中抽取信息或产生出一张报表。而通常这点时间只够用来向一个系统分析员或程序员说明技术要求。用户只需说明做什么,而查询语言软件将自动要求怎样做。查询语言利用高级、类似英语命令来检索和编排满足管理查询和制表要求数据。用查询语言能够交互式地完成一次问询(直接和计算机通信)。实施程序产生输出直接在终端上显示出来,或产生一份硬拷贝。查询语言含有以下特色:类似于英语命令,对数据有限数学运算操作,对报表自动编排、排序和按关键字挑选统计等。下面例子说明一个查询语言及其使用方法。一个人事经理查看图20.7.2所表示报表。为了实现这个报表,这个经理使用一个叫做EASYTRIEVE(由PansophicSystem企业销售一个软件产品)查询语言来编制她请求“程序”表20.7.1说明了这个程序。表20.7.1第一句说明工资数据储存在叫做“FILEA”文件中,尽管在此例中只使用了一个文件,不过要求使用多个文件,或一个数据库是没有更多困难。第二行描述了产生图20.7.2中报表所要求文件中数据元。用户事先需要知道统计格式。统计格式指出每个数据元在统计中相对位置,它类型,和它是字母,还是字母数字。第一项DEPARTMENT(部门),从统计第98个字符位置开始,占三个字符长度(N表示数字,而A表示字母数字)。名字字段从第17个字符位置开始,占20个字符(字母数字)长度,语句终止于一串9,如第三语句号中所表示,用一个“IF”语句来要求挑选统计关键字值。经理所感爱好只是在部门911和914中那些职员。假如想挑选更多统计,还能够再使用若干“IF”语句。语句(4)说明应该按部门来排序输出;也就是说,部门号为911职员应排在部门号为914职员前面。经过再使用一个“排序”语句能够将一个部门职员按其名字字母次序排序。语句(5)指出应该计算总计和打印输出那些点。本例中,对每个部门要求计算总计。语句(6)和(7)许可人事经理要求报表标题和相关列标题。语句(6)是第一层标题。语句(7)要求了用愈加显著列标题来替换程序中缩写标识(如,将用“EMPOLOYEENAME”替换“NAME”)。对于“快速和非正式”报表能够省略语句(6)和(7)。在COBOL程序中,和上述人事经理请求相等价程序将要求150行以上源程序语句。能够按交互式使用查询语言,来请求以下信息:自1月1日以来,哪些职员病假超出20次?今天有没有腾出高级单间病房?某年级学生全部数学课程平均分是多少?根据部门标题名字母次序列出已超出预算那些部门等等。经过查询语言能够很轻易地完成对于多少个文件和数据库少许查询,比如,对于一个不知道PatBrown(伯特凡祭Ê)性别秘书来说,查询数据库将比进行麻烦电话问询要快得多。4.应用程序生成程序尽管应用程序生成程序概念至今没有严格定义,不过现在已经使用那些应用程序生成程序目标和多种开发步骤目标是相同。即它是不需要过程级指令就能够说明开发一个信息系统全部程序设计任务一个语言。一些应用程序生成程序(经过和程序员进行交互式对话)已经靠近这一目标。当用应用程序生成程序还在早期开发阶段。现有应用程序生成程序并不含有面向过程语言那种灵活性,而且不能用来开发完善信息系统。然而当用于预期用途时,它将能成倍地提升程序员生产效率。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川雅安中学2025届高三下学期期末学习能力诊断数学试题含解析
- 内蒙巴彦淖尔市2025年高三毕业班3月教学质量检查语文试题含解析
- 山东省日照市五莲二中学2025届初三化学试题下学期期末考试试题含解析
- 武夷山职业学院《建筑与装饰工程计量与计价课程设计》2023-2024学年第二学期期末试卷
- 山东省济南市历城区2025届初三4月模拟(二模)考试生物试题理试题含解析
- 辽宁中医药大学《药学综合实验》2023-2024学年第二学期期末试卷
- 六盘水幼儿师范高等专科学校《日语文学》2023-2024学年第二学期期末试卷
- 山西林业职业技术学院《遥感原理与方法》2023-2024学年第一学期期末试卷
- 二零二五房屋及土地租赁协议
- 智能驾驶之路
- 东风天锦5180勾臂式垃圾车的改装设计
- 浦发银行个人信用报告异议申请表
- 高考试卷命题设计的技巧 课件24张
- 施工进度计划网络图-练习题知识讲解
- 防孤岛测试报告
- 按摩常用英语
- 食品公司规章制度
- midas NFX使用指南(八)
- 成都高新区小学数学五年级下册半期考试数学试卷
- 2018年人教版九年级英语单词表
- 苹果中国授权经销商协议
评论
0/150
提交评论