Реферат: Оптимизация программ
если Z>0 то Y:=1;
иначе Y:=Z+2;
для K:=1, K+1 пока K<=100
цикл X[K]:=X[K] - Y;
Примером чистки тела рекурсивной функции может быть следующий:
тело рекурсивной функции
цел функция Ф(N)
начало
целые Z,W;
W:=1;
если X>0 то W:=Y;
если N<=0 то Ф:=1
иначе
начало
Z:=N-W; Ф:=Z*Ф(Z) конец
конец
содержит два инвариантных гамака, в результате вынесения которых может быть получена следующая функция:
цел функция Ф(N)
начало
целое N;
цел функция F(M)
начало
целое Z;
если M<=0 то F:=1;
иначе
начало
Z:=M-W; F:=Z*F(Z) конец
конец
W:=1;