中间代码(一) 序号 OPR OPN10PN2 RESULT注释 K K:=1 (2)j100K(10)if(100<K) goto(10) (3)+ X:=工+1 (4)米 (5)+ (6)米 (7)+ I1I1JK 0 1KTK T1:=10米K M: =I+T1 0 2 T2:=10米K T2 XTMTNK N:三J+12 (8)+ K:=K+1 (9)j (2) goto(2) (10)
中间代码(一) 序号 OPR OPN1 OPN2 RESULT 注释 (1) := 1 K K:=1 (2) j< 100 K (10) if (100<K) goto (10) (3) + I 1 X X:=I+1 (4) * 10 K T1 T1:=10*K (5) + I T1 M M:=I+T1 (6) * 10 K T2 T2:=10*K (7) + J T2 N N:=J+T2 (8) + K 1 K K:=K+1 (9) j (2) goto (2) (10)
优化 例 FOR K: =1 TO 100 DO BEGIN X:=I+1; M:=I+10米K N:=J+10*K END X:=|+1;与循环无关,没必要执行100次 每次M:=|+某个值,可以预先给M在循环外赋以初值,变乘法为累加运算
优化 ◼ 例 FOR K:=1 TO 100 DO BEGIN X:=I+1; M := I + 10 * K; N := J + 10 * K; END X:=I+1;与循环无关,没必要执行100次| 每次M := I+某个值,可以预先给M在循环外赋以初值I,变乘法为累加运算