程序和算法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序和算法

程序与算法 程序是指操作计算机完成特定任务的指令的集合,程序由程序设计语言来实现。算法用来描 述程序的实现步骤。 1.1.1 程序设计语言 人类的语言是一个渐变发展的过程,正像人与人之间的交流是从手势逐渐进化到语言一样, 人 们 与 计 算 机 之 间 的 交 流 也 是 从 简 单 的 机 械 开 关 开 始 逐 渐 发 展 到 程 序 设 计 语 言 (Programming Language)——计算机语言。 计算机语言的发展从面向机器到面向结构过程再到今天的面向对象,根据其所提供的指令能 否被计算机直接执行,又可将其分为机器语言、汇编语言和高级语言。 1.机器语言 仅由硬件组成的计算机只能接受由“0”和“1”组成的二进制信息,要操作计算机就要编写 一系列的二进制代码。这些由“0”和“1”组成,能够让计算机直接执行的指令叫做机器指 令,由机器指令组成的集合称为机器语言(Machine Language)。 每条机器指令都是一串二进制代码。虽然对于人类来说要记住每一条机器指令及其含义是非 常困难的,但是计算机却可以直接识别并执行,因此计算机执行机器语言的效率是最高的。 例如在某计算机上要完成 1+2 的加法运算,要用命令将加数 1(二进制为 保存,用命令完成 1+2(二进制为的运算。机器语言代码如下:0000000100000010 可以看到使用机器语言编写出来的程序十分难以阅读,同时机器语言与计算机硬件有关,不 同系列计算机上运行的机器指令各不相同,一台计算机上编制的程序在另一台计算机上可能 根本无法运行,一个问题要在多个计算机上求解,就必须重复编写多个应用程序。因此机器 语言开发程序的缺点是:难以编写、调试、移植和维护。 2.汇编语言 在机器语言的基础上,利用一些英文缩写的助记符表示机器语言中的指令,通过一个汇编程 序翻译成机器语言后再执行,这种语言称为汇编语言(Assembly Language)。汇编语言也是 一种面向机器的程序设计语言。汇编语言使用符号来表示指令,例如要完成 1+2 的加法运算, 需要使用 MOV 命令将加数 1 保存在累加器 AL 中,然后使用 ADD 命令完成 1+2 的运算。汇 编语言代码如下: MOV AL,1 ADD AL,2 一般来说汇编语言指令与机器语言指令之间是一一对应的。汇编语言通常都为特定的计算机 系统而设计,虽然比机器语言容易理解,但即使实现简单的功能,其编写的代码仍然很长, 同时仍然没有解决编程语言对计算机硬件的依赖关系。 3.高级语言 为了提高编程的效率,在汇编语言的基础上,人们开发了高级语言(High-level Language)。 高级语言更加接近自然语言,所以它的代码简短、易学易用,用一条语句就能够完成大量的 任务。高级语言使程序开发者能够编写更像英语的指令,可以包含常用的数学符号,例如用 Java 完成 1+2 的加法运算,只需:x=1+2 即可。 常见的面向结构化的高级语言有:FORTRAN、ALGOL、COBOL、PASCAL、BASIC、C 等。 常见的面向对象的高级语言有:C++、JAVA、VB、DELPHI 等。 高级语言同样不能被计算机直接执行,而是需要通过语言翻译程序将其转换为计算机可以执 行的代码。按照语言程序的翻译方式不同,可分为解释型翻译程序和编译型翻译程序。 解释型翻译程序(解释器)在工作时读入源程序一句,翻译一句,执行一句,这样反复操作 直到最终完成。编译型翻译程序(编译器)则将高级语言写的源程序转变为计算机可以识别 的机器语言,然后交给计算机执行。编译方式速度较快,而解释方式交互性更强。 1.1.2 算法的说明 程序是用来解决特定问题的,而算法是对解决问题步骤的描述。算法本身也可以采取不同的 方式进行描述,常用的有:自然语言描述、伪代码描述和程序流程图描述。 1.自然语言描述 就是通过人类常用的语言对解决问题的过程进行描述。例如要进行两个数据的加法运算,利 用自然语言描述如下: 第 1 步:输入两个数据,分别存储在变量 x 和 y 中。 第 2 步:完成 x+y 的运算,将结果保存在变量 z 中。 第 3 步:输出变量 z 的值。 2.伪代码描述 伪代码(Pseudo code)是人为的非正式语言,类似于日常的英语,方便而且容易掌握,但 不是实际计算机编程语言,只是帮助程序员开发算法而用。例如下面的一段伪代码: x←a y←b z←0 z←x+y; 3.程序流程图描述 程序流程图就是使用图形对算法进行描述,这些图形有固定的含义。用图形表示算法,直观 形象便于理解。目前常用的是两种流程图:标准流程图和 N-S 流程

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档