高级编程语言可分为命令式语言.docVIP

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

高级编程语言可分为命令式语言 Imperative programming language 和声明式语言 declarative programming language ,两者的编程方法有很大的不同。声明式语言又可分为函数式语言、逻辑式语言等;而命令式语言可分为冯.诺伊曼式编程语言、脚本编程语言、面向对象编程语言等。目前,软件编程中命令式语言主导地位,这里将以此为例说明软件编程与电路设计的区别。 电路设计与软件编程的区别表面上看只是一个图形形式,一个是文字形式;但实质上有很大的不同。 迄今为止,凡是能够实用的电子计算机都是按照冯·诺依曼提出的结构体系和工作原理来设计制造的,简而言之,计算机就是存储程序并按地址顺序执行的。其要点如下: ? 计算机是按照事先编好的程序执行的; ?????? 计算机的程序被事先输入到存储器中,程序运算的结果也被存放在存储器中; ? 计算机能自动连续地完成程序; ????? 程序运行的所需要的信息和结果可以通输入/输出设备完成; 计算机由运算器、控制器、存储器、输入设备与输出设备所组成。其中最广泛应用编程语言的C语言(属于冯.诺伊曼式编程语言)充分表达计算机结构原理。 因此,计算机编程实际上是“按步骤解决问题”:把解决问题的方法分成若干的大步骤,每个大步骤又分为若干个小步骤,一直分下去,直到分不可分;然后计算机就按照步骤来一丝不苟的执行。这种“按步骤解决问题”的思路很利于执行,但从步骤中分析解决问题的思路就非常困难了;进而分析程序是否完全符合解决问题的思路也是很困难的。很简单的例子,网上有大量的教程,很多也是step by step的,但很多人按照教程做,依然无法解决问题。 与计算机编程不同,电路是连续工作的,没有“步骤”一说。数据(电流或电压)持续的流入一个器件,经过一个器件加工后,又流出这个器件。例如放大器,会只要通电,就会持续不断的对输入信号放大,在工作范围内,输出信号一直与输入信号成正比或反比。数字电路同样如此,例如二输入与门,其输出信号时时刻刻是两个输入信号的与。即使有时钟参与的时序数字电路,可认为时钟也是一个输入信号,同样脱离不了上述规律。即使不把时钟当作输入信号,时序电路也没有“步骤”,只是信号处理不再是连续的,而是离散的而已。 综上所述,计算机编程关注的是解决问题的步骤。如果步骤太多(程序规模较大),则编程时很容膝疏忽某些步骤,造成程序隐含的BUG。而电路设计关注的是数据流动,每个器件都对数据进行特定的处理,数据按照指定的方式路径流过这些器件后,自然就解决了要解决的问题。因此,电路的行为比计算机编程更容易预测,更容易理解,也就更不容易出错。计算机领域中,硬件发展的速度远高于软件发展的速度就很好的证明了这一点。 I/o算法,类似 是电梯控制员一样的东西,先把瘦子运上去,再把胖子运上去,分个先后次序轻重缓急

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档