王朝百科
分享
 
 
 

程序设计理论

王朝百科·作者佚名  2009-11-14  
宽屏版  字体: |||超大  

程序设计理论

programming theory

研究程序设计的理论基础、基本原则和一般方法的一种理论。是计算机软件工程学的基础。程序设计的基本过程是:对待解决的问题进行分析,定义用户需求,描述数据和加工过程,再把这种描述细化、编码,转换成计算机可以接受的表示形式。

自20世纪40年代带内存程序的计算机诞生后,计算机编写程序的工作越来越重要。到60年代中期,计算机应用已相当普遍,但软件设计技术却很落后,许多大型软件的质量低劣,可靠性不高,可维护性极差;软件生产率很低,从而价格昂贵,供不应求,造成所谓的软件危机。计算机科学家开始认真研究程序设计的基本理论和方法。60年代末期,结构化程序设计与自顶向下逐步求精的原则和方法受到广泛重视。结构化程序设计希望通过完善程序的静态结构来保证程序动态运行的正确性,因而需要限制或取消某些不良程序语句,例如GOTO语句。自顶向下逐步求精的主要思想是从待解问题出发,运用科学抽象的方法,把原问题分解成若干相对独立的小问题,依次细分,直至各个小问题都获得圆满解决为止。

与此同时,使用逻辑方法验证程序正确性的研究取得了丰硕成果,形式语义学也得到长足的进展。验证框图程序的断言方法是在框图的每条边上附上一个断言(谓词公式),其意义是,每当程序运行到达这条边时,此断言应为真。对于循环,即框图上的一个回路,可以定义一个断点,并在断点上设置一个断言ρ,然后证明若循环开始时断点上的ρ为真,则当循环返回到该断点时ρ仍然为真。断言ρ常称为循环不变式。Hoare逻辑是基于上述断言方法的程序验证系统,它是一阶谓词逻辑的扩充,用于证明程序的部分正确性。形式语义学是程序设计理论的主要组成部分。70年代程序设计理论研究的主要课题是大型程序的设计方法。对于复杂而庞大的大型程序设计,原先的简单类型、子程序、过程等概念已显不足,需要一种表示能力更强、更灵活、结构更清晰的程序单位,这就是抽象数据类型。抽象数据类型把模块概念精确化和理论化,成为程序设计理论中的重要组成部分。

70年代中期以后,程序设计理论朝多方向发展。第一,对程序设计的范型进行研究。最主要的程序设计范型有:逻辑式程序设计,函数式程序设计,面向对象的程序设计。第二,软件生产自动化研究。这种研究的主要目的是希望能像工业生产自动化那样,使程序设计的某些过程实现自动化,从而提高软件生产率,保证程序正确性。这方面研究的主要成果是形式化软件开发方法,其目标是为使用者提供一整套思维方法和描述、开发手段,如规范描述的原则、程序开发的一般过程、描述语言等等,使开发者能利用数学概念和表示方法恰当合理地构造形式规范,根据开发过程的框架及设计原则进行规范描述和系统化的设计精化,并使用证明的概念对规范的性质和设计步骤进行分析和验证。第三,发展新应用领域中的程序设计理论与方法,例如并行程序设计,实时程序设计,混杂系统的程序设计等等。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有