- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计形式语义学
南京理工大学 计算机系
张琨
二○○四年八月二日
南京理工大学 计算机系
2006.11.21
主讲:张琨
2 公理语义
试图通过在程序逻辑的范围内给出证明规则来确定程序设计构造的含义。该方法的代表人物是R.W.Floyd和C.A.R.Hoare。
从一开始,公理语义强调的是正确性证明。
程序的正确性证明
2.1 引言
2.2 FCL/2结构的表示
2.3 其他控制结构的表示
2.4 程序的形式描述与证明
2.5 程序正确性证明
2.6 计算WP:语言的语义
2.1 引言
SMALL语言的控制结构能够表示其他语言,首先引入最小语言(SMALL)。
定义:最小语言SMALL定义如下:
1.赋值语句右部表达式至多只有一个操作符,没有括号出现;
2.控制语句有:
GOTO 位置;
IF 简单布尔表达式 THEN GOTO 位置;
其中,简单布尔表达式是单个布尔变量或两个算术变量的单一关系。位置是标号或@变量
3.语句可以带标号,标号L可以看作是标号为L的语句在程序中的位置的名字(在实际的计算机中,#L是存储该语句的存储单元)。语句
x := #L;
把标号为L的语句的存储单元名存储在变量x中。语句
GOTO @x;
把控制转移到其单元名存储在变量x中的那个语句。
2.2 FCL/2结构的表示
1.赋值语句的表示
x := E1/E2
定义该赋值语句的表示为:
REP(x := E1/E2)
= REP(t1 := E1);REP(t2 := E2);x := t1/t2
定义 记号REP(S)代表语句、短语或值S的表示。
2.2 FCL/2结构的表示
2.顺序控制的表示
顺序语句序列
S1;S2;…;Sk
定义该顺序语句的表示为:
REP(S1;S2;…;Sk)
= REP(S1);REP(S2);…;REP(Sk)
定义 记号REP(S)代表语句、短语或值S的表示。
2.2 FCL/2结构的表示
3.IF-THEN-ELSE的表示
定义该语句的表示为:
REP(IF B THEN S1 ELSE S2)
= REP(t := B);IF t THEN GOTO L1;REP(S2);GOTO L2;
L1:REP(S1);
L2:
定义 记号REP(S)代表语句、短语或值S的表示。
2.2 FCL/2结构的表示
4.WHILE语句的表示
定义该语句的表示为:
REP(WHILE B DO S) =
L1:REP(e := NOT B);
IF e THEN GOTO L2;
REP(S);
GOTO L1;
L2:
定义 记号REP(S)代表语句、短语或值S的表示。
2.2 FCL/2结构的表示
举例
IF xy THEN w := 5 ELSE w := -3;
定义该语句的表示
REP(IF xy THEN w := 5 ELSE w := -3)=
t := xy;
IF t THEN GOTO L1;
w := -3; GOTO L2;
L1: w := 5;
L2:
定义 记号REP(S)代表语句、短语或值S的表示。
2.2 FCL/2结构的表示
讨论
i := 0; s := 0;
WHILE i100 DO s := s + i;
定义该语句的表示
定义 记号REP(S)代表语句、短语或值S的表示。
i := 0; s := 0;
WHILE i100 DO s := s + i;
2.3 其他控制结构的表示
5.REPEAT语句的表示
REPEAT S UNTIL B 等价于 S; WHILE ~B DO S
定义该语句的表示为:
REP(REPEAT S UNTIL B) =
REP(S; WHILE ~B DO S) =
L1:REP(S);
REP(t := NOT B);
IF t THEN GOTO L;
定义 记号REP(S)代表语句、短语或值S的表示。
2.3 其他控制结构的表示
6.NumberedCase语句的表示
NumberedCase E OF S1; S2;…;Sk;
定义该语句的表示为:
REP(NumberedCase E OF S1; S2;…;Sk;OTHERWISE Sw END) =
定义 记号REP(S)代表语句、短语或值S的表示。
2.3 其他控制结构的表示
6.NumberedCase语句的表示
NumberedCase E OF S1; S2;
您可能关注的文档
最近下载
- 学校--以老带新”实施方案.docx VIP
- 2022《贯彻执行中央八项规定、推进作风建设综述》专题PPT.ppt VIP
- -IATF 16949质量管理体系培训 .ppt VIP
- 医美整形线上平台留客升单策略.docx VIP
- 高中物理力学——动态平衡问题处理方法.pdf VIP
- 一种可实时监控的负压引流系统及其使用方法.pdf VIP
- 2022年新版《义务教育体育与健康课程标准》考试学习资料.docx VIP
- 2024-2025学年天津市南开区七年级(下)期末数学试卷.pdf VIP
- IATF16949质量管理体系模板或IATF16949质量管理手册.docx VIP
- 外研版八年级上册 Unit 1 单元测试卷答案及解析 新版 2025年新外研版八年级上册.docx
文档评论(0)