文档库 最新最全的文档下载
当前位置:文档库 › 高级编程语言可分为命令式语言

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

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

高级编程语言可分为命令式语言(Imperative programming language)和声明式语言(declarative programming language),两者的编程方法有很大的不同。声明式语言又可分为函数式语言、逻辑式语言等;而命令式语言可分为冯.诺伊曼式编程语言、脚本编程语言、面向对象编程语言等。目前,软件编程中命令式语言主导地位,这里将以此为例说明软件编程与电路设计的区别。

电路设计与软件编程的区别表面上看只是一个图形形式,一个是文字形式;但实质上有很大的不同。

迄今为止,凡是能够实用的电子计算机都是按照冯·诺依曼提出的结构体系和工作原理来设计制造的,简而言之,计算机就是存储程序并按地址顺序执行的。其要点如下:

?计算机是按照事先编好的程序执行的;

??????计算机的程序被事先输入到存储器中,程序运算的结果也被存放在存储器中;

?计算机能自动连续地完成程序;

?????程序运行的所需要的信息和结果可以通输入/输出设备完成;

计算机由运算器、控制器、存储器、输入设备与输出设备所组成。其中最广泛应用编程语言的C语言(属于冯.诺伊曼式编程语言)充分表达计算机结构原理。

因此,计算机编程实际上是“按步骤解决问题”:把解决问题的方法分成若干的大步骤,每个大步骤又分为若干个小步骤,一直分下去,直到分不可分;然后计算机就按照步骤来一丝不苟的执行。这种“按步骤解决问题”的思路很利于执行,但从步骤中分析解决问题的思路就非常困难了;进而分析程序是否完全符合解决问题的思路也是很困难的。很简单的例子,网上有大量的教程,很多也是step by step的,但很多人按照教程做,依然无法解决问题。

与计算机编程不同,电路是连续工作的,没有“步骤”一说。数据(电流或电压)持续的流入一个器件,经过一个器件加工后,又流出这个器件。例如放大器,会只要通电,就会持续不断的对输入信号放大,在工作范围内,输出信号一直与输入信号成正比或反比。数字电路同样如此,例如二输入与门,其输出信号时时刻刻是两个输入信号的与。即使有时钟参与的时序数字电路,可认为时钟也是一个输入信号,同样脱离不了上述规律。即使不把时钟当作输入信号,时序电路也没有“步骤”,只是信号处理不再是连续的,而是离散的而已。

综上所述,计算机编程关注的是解决问题的步骤。如果步骤太多(程序规模较大),则编程时很容膝疏忽某些步骤,造成程序隐含的BUG。而电路设计关注的是数据流动,每个器件都对数据进行特定的处理,数据按照指定的方式路径流过这些器件后,自然就解决了要解决的问题。因此,电路的行为比计算机编程更容易预测,更容易理解,也就更不容易出错。计算机领域中,硬件发展的速度远高于软件发展的速度就很好的证明了这一点。

I/o 算法,类似 是电梯控制员一样的东西,先把瘦子运上去,再把胖子运上去,分个先后次序轻重缓急

逻辑门算完放个地方,就是寻址 然后 在i/o 最后成芯片

芯片程序与电路设计区别。

一、芯片程序设计在于时间上的次序,因为有逻辑电路的开关,关的时候就放在地址中,

所以需要了解的名词分为1首先0与1来计算2其次与或门逻辑来停留3然后停留的放在地址中,缓存寄存器(触发打开关闭等概念) 4 最后,到需要时候寻址提取---什么时候拿出来满足轻重缓急。。。。。。在计算反复进行

二、电路,没有先后,马上电流都流过

芯片设计首先找需要功能其次根据逻辑与电路最后版图设计

钢结构设计首先找需要的承受的外力其次根据材料和结构设计最后绘图

钢结构设计出许多形状和受力不一的样子来应用与建筑。芯片设计出不同功能来应用于所需功能(如机器人的动作)。设计好坏在于第一步的需求分析后所设计的样子。其后的二步都是基础没有创新,只不过经验的多少决定计算的速度和准确性。

相关文档