编译原理及实现课后习题答案(7)

2019-08-02 00:55

(+,D,E,F) (=,F, ,J) (*,3,F,G) (=,15, ,K) (+,15,J,L) (=,L, ,M)

10.2 对下面程序段画出程序流图,并进行循环优化。 I=1; J=10; K=5; L1:X=K*I; Y=J*I; Z=X*Y; I=I+1

IF I<100 GOTO L1; 解:程序流图如下: B1:I=1; J=10; K=5; B2:X=K*I; Y=J*I; Z=X*Y; I=I+1; IF I<100 GOTO B2; 从程序流图可知,要优化的循环是基本块B2。对循环B2中代码分别实行代码外提、强度删弱和删除归纳变量优化如下:

(1) 代码外提:循环中无不变运算、 (2) 强度删弱:由于循环中有 X=K*I; Y=J*I;

其中,K,J在循环中值不发生改变,I每次增加1。因此,对X,Y可进行强度删弱,将乘法运算(*)改为加法运算(+)。强度删弱后程序流图如下图所示:

Y

B1:I=1; J=10; K=5; B2’:X=K*I; Y=J*I; B2:Z=X*Y; X=X+K; Y=Y+J; I=I+1; IF I<100 GOTO B2; (3) 删除基本归纳变量:循环中I是基本归纳变量,X、Y是与I同族的归纳变量,且有

如下线性关系:

X=K*I; Y=J*I;

于是,条件I<100可用X


编译原理及实现课后习题答案(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《诗咏铁路风采》诗词作品

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: