付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.1.1程序设计的基本知识1.程序、程序设计、程序设计语言的定义(1)程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。(2)程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。(3)程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有的因素,即语法、语义和语用。2.程序设计语言的发展程序设计语言的发展经过了机器语言、汇编语言、高级语言三个阶段,每一个阶段都使程序设计的效率大大提高。我们常常把机器语言称为第一代程序设计语言,把汇编语言称为第二代程序设计语言,把高级语言称为第三代程序设计语言。(1)机器语言
机器语言是计算机能直接识别和执行的一组机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。一条机器指令就是机器语言的一个语句,它是一组有意义的二进制代码。每条机器指令一般由操作码和地址码两部分构成,其中操作码说明指令的含义,地址码说明操作数的地址。机器语言程序能够在对应型号的计算机上直接运行。用机器语言进行程序设计比较烦琐。首先,程序员要熟记所用计算机的全部指令集及每条指令的含义;其次,在程序编写过程中,程序员要自己处理每条指令和每一数据的存储分配和输入/输出,还要记住每步中所使用的工作单元处于何种状态。由于程序员既要驾驭程序全局又要深入每个局部细节,因此程序的开发周期长、可靠性差。机器语言编写出的程序都是由0和1构成的符号串,可读性差,还容易出错,不易交流和维护。机器语言编程的思维及表达方式与程序员日常的思维和表达方式差距较大,程序员需要经过长期的训练才能胜任。机器语言程序设计严重依赖于具体计算机的指令集,编写出的程序可移植性差、重用性差。(2)汇编语言
鉴于机器语言编程的烦琐,为减小程序员在编程中的劳动强度,20世纪50年代中期,人们开始用一些“助记符号”来代替0、1码编程,即用助记符代替机器指令中的操作码,用地址符号或标号代替机器指令中的地址码,将机器语言变成了汇编语言。汇编语言也称符号语言,即符号化的机器语言,提高了程序的可读性和程序开发效率。汇编语言用助记符而不是0和1序列来表示指令,程序的生产效率和质量都有所提高。但是使用汇编语言编写的程序,计算机不能直接识别,必须有一种程序将汇编语言翻译成机器语言,起这种翻译作用的程序称为汇编程序(Assembler),汇编程序把汇编语言翻译成机器语言的过程称为汇编(Assembling)。
汇编语言程序经汇编得到的目标程序占用内存空间少、运行速度快,有着高级语言不可替代的作用,因此汇编语言常用来编写系统软件和过程控制软件。
汇编语言和机器语言都与具体的机器有关,它们都称为面向机器的语言,也称为低级语言。程序员用它们编程时,不仅要考虑解题思路,还要熟悉机器的内部构造,并且要“手工”地进行存储器分配,编程的劳动强度仍然很大,这些仍然阻碍着计算机的普及和推广。(3)高级语言无论是机器语言还是汇编语言,它们都是面向硬件具体操作的,语言对机器的过分依赖要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用也是不利的。计算机的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称为高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备相应的高级语言的翻译程序,用该高级语言编写的程序就可以在该机器上运行。高级语言可读性好、机器独立性强,具有程序库,可以在运行时进行一致性检查,从而检测程序中的错误,这使得高级语言几乎在所有的编程领域取代了机器语言和汇编语言。高级语言也随着计算机技术的发展而不断发展,目前有许多种用于不同目的的高级程序设计语言,广泛使用的有C、C++、Java、C#、F#、JavaScript、JSP等。3.程序设计语言的发展趋势程序设计语言已经逐步发展至第四代语言(Fourth-GenerationLanguage,以下简称为4GL),它的出现是由于商业需要。4GL一词最早出现在20世纪80年代初期软件厂商的广告和产品介绍中。由于4GL具有面向问题、非过程化程度高等特点,可以呈数量级地提高软件生产率,缩短软件开发周期,因此赢得很多用户的青睐。20世纪80年代中期,许多著名的计算机科学家对4GL展开了全面研究,从而使4GL进入了计算机科学的研究范畴。4GL以数据库管理系统所提供的功能为核心,进一步构造了开发高层软件系统的开发环境,如报表生成、多窗口表格设计、菜单生成系统、图形图像处理系统和决策支持系统,为用户提供了一个良好的应用开发环境。它提供了功能强大的非过程化问题定义手段,用户只需要告知系统做什么,而无须说明怎么做,因此可大大提高软件生产率。进入20世纪90年代,随着计算机软硬件技术的发展和应用水平的提高,大量基于数据库管理系统的4GL商品化软件已在计算机应用开发领域中获得广泛应用,成为面向数据库应用开发的主流工具,如Oracle应用开发环境、Informix-4GL、SQLWindows、PowerBuilder等。它们为缩短软件开发周期、提高软件质量发挥了巨大的作用,为软件开发注入了新的生机和活力。虽然4GL具有很多优点,也有很大的优势,成为目前应用开发的主流工具,但它也存在着以下严重不足:4GL虽然功能强大,但在其整体能力上却与3GL有一定的差距。这一方面是语言抽象级别提高以后不可避免地带来的(正如高级语言不能做某些汇编语言做的事情那样);另一方面是人为带来的,许多4GL只面向专项应用,有的4GL为了提高对问题的表达能力,提供了同3GL的接口,以弥补其能力上的不足,如Oracle提供了可将SQL语句嵌入C程序中的工具PRO*C。4GL由于抽象级别较高,不可避免地带来系统开销大、运行效率低(正如高级语言运行效率没有汇编语言高一样)等问题,对软硬件资源消耗严重,其应用受硬件限制。由于缺乏统一的工业标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玻纤编织制品生产工安全宣贯测试考核试卷含答案
- 翻车机工安全操作能力考核试卷含答案
- 老年跌倒的防治对策
- 2025年下半年教师资格证考试真题(附答案)
- 2025年全国计算机一级wps考试题及答案
- 2025年江苏省南通工贸技师学院选聘考试笔试试题(含答案)
- 2025年国家统一司法考试真题及答案
- 2026年秋季开学高中高中学习方法转型指导课件
- 2026浙江省教师职称考试(历史)历年参考题库含答案详解3卷
- 2026浙江卫生系统招聘考试(耳鼻咽喉科)历年参考题库含答案详解3卷
- 2025及未来5年鸡肝项目投资价值分析报告
- 汽轮机高压主气阀课件
- 职业暴露(锐器伤)演练脚本(2篇)
- 员工三级教育培训档案及考试题(附答案)
- 造价工程师识图算量课件
- 冷轧高性能取向电工钢带-编制说明-
- DZ/T 0223-2011矿山地质环境保护与恢复治理方案编制规范
- 集成电路布图设计委托开发合同
- 装修隔音合同协议
- 砌筑工考试试题及答案
- 店面租赁订金合同范例
评论
0/150
提交评论