程序变换技术.pptVIP

  • 8
  • 0
  • 约2.92千字
  • 约 18页
  • 2022-04-21 发布于广东
  • 举报
第1页,共18页。 1. 引言 递归程序的优缺点 优点:比较符合人的思维习惯,结构紧凑简洁,容易理解。 缺点:由于使用堆栈技术,要耗费较多的计算时间和存储空间。 程序的等价变换:递归 ? 迭代 第2页,共18页。 2. 程序变换的思想 程序变换的基本思想是把程序设计工作分成两个阶段进行:程序生成阶段和程序改进阶段。 程序生成阶段 设计面向问题的、易于理解的、正确的函数型递归程序,不考虑效率。 程序改进阶段 通过一系列变换规则,将程序转换成具体的面向过程且效率较高的程序。 第3页,共18页。 2. 程序变换的思想 程序变换的方法: 即根据某些程序变换规则把一种程序变换成另一新的程序,这两个程序必须是等价的。 如用Dijkstra的谓词转换器定义,则有程序P1和P2等价,当且仅当对任意谓词R满足:wp(P1,R)=wp(P2,R) 程序变换可以看作是一种严格的数学演算,因此为了保证程序的正确性,只要对变换前的程序文本加以验证就行了,而变换后程序的正确性将由变换规则加以保证。 第4页,共18页。 3. 程序变换的基本规则 程序变换规则是在程序集合上的一个映射,每个变换规则一般仅对一类程序有定义,故可用程序模式的有序对来描述变换规则。 当可用性条件B成立时,输入模式S1可用输出模式S2来代替。 第5页,共18页。 4 基本的变换规则 ①. 定义规则 将谓词中的存在量词的每次

文档评论(0)

1亿VIP精品文档

相关文档