MLTA_dlya_vsekh (1) / Электронные лекции 2013 / лекция 4
.pdf51
Путь 1.1 |
|
|
Условие пути 1.1: |
||
|
|
|
|
(x0<-1) |
& (y1>-2) = |
|
|
|
|
||
Оператор |
Условие |
x |
y |
(x0<-1) |
& (y0>-2) |
|
|
||||
|
|
|
|
|
|
x:=x+y |
x0<-1 |
x1=x0+y0 |
y1=y0 |
Функция пути 1.1: |
|
|
|
|
|
|
|
y:=x+y |
y1>-2 |
x2=x1 |
y2=x1+ |
x2=x1=x0+y0, |
|
|
|
|
y1 |
y2=x1+y1=x0+y0+y0; |
|
|
|
|
|
(x,y):=(x0+y0, x0+2*y0) |
|
|
|
|
|
|
|
52
Путь 1.2 |
|
|
Условие пути 1.2: |
|
|
|
|
|
(x0<-1)&(y1 -2)= |
|
|
|
|
|
Оператор |
Условие |
x |
y |
(x0<-1)&(y0 -2) |
|
||||
|
|
|
|
|
x:=x+y |
x0<-1 |
x1=x0+y0 |
y1=y0 |
Функция пути 1.2: |
|
|
|
|
|
x:=x-y |
y1 -2 |
x2=x1-y1 |
y2=y1 |
x2=x1-y1= |
|
|
|
|
=x0+y0-y0=x0; |
|
|
|
|
y2=y1=y0, |
|
|
|
|
(x,y):=(x0, y0) |
|
|
|
|
|
53
Путь 2.1 |
|
|
|
Условие пути 2.1: |
|
|
|
|
|
|
(x0 -1)&(y0<0)&(y1>-2) = |
|
|
|
|
|
(x0 -1)&(-y0>0)&(x0-y0>-2)= |
Оператор |
|
Условие |
x |
y |
(x0 -1)&(y0<0), т.к. x0-y0>-1>-2. |
|
|
|
|
|
|
y:=x-y |
|
(x0 -1) |
x1=x0 |
y1=x0-y0 |
Функция пути 2.1: |
|
|
& |
|
|
x2=x1=x0; |
|
|
|
|
|
|
|
|
(y0<0) |
|
|
y2= x1+y1= |
|
|
|
|
|
|
y:=x+y |
|
y1>-2 |
x2=x1 |
y2=x1+y1 |
=x0+x0-y0=2*x0-y0, |
|
|
|
|
|
(x,y):=(x0,2*x0-y0) |
|
|
|
|
|
|
54
Путь 2.2 |
|
|
Условие пути 2.2: |
|
|
|
|
|
(x0 -1)&(y0<0)&(y1 -2)= |
|
|
|
|
(x0 -1)&(y0<0)&(x0-y0 -2)= , |
Оператор |
Условие |
X |
y |
путь 2.1 не реализуется. |
|
|
|
|
|
Y:=x-y |
(x0 -1) |
x1=x0 |
y1=x0-y0 |
|
|
& |
|
|
|
|
(y0<0) |
|
|
|
|
|
|
|
|
X:=x-y |
y1 -2 |
x2=x1y1 |
y2=y1 |
|
|
|
|
|
|
|
|
|
55 |
|
|
|
|
|
|
Путь 3.1 |
|
|
Условие пути 3.1: |
|
|
|
|
|
(x0 -1)&(y0 0)&(y1>-2) = |
|
|
|
|
|
Оператор |
Условие |
x |
y |
(x0 -1)&(y0 0)&(y0 -2)= |
|
||||
|
|
|
|
(x0 -1)&(y0 0) |
|
|
|
|
|
|
(x0 -1) & |
x1=x0 |
y1=y0 |
Функция пути 3.1: |
|
(y0 0) |
|
|
x2=x1=x0; |
|
|
|
|
|
|
|
|
|
y2=x1+y1=x0+y0, |
y:=x+y |
y1>-2 |
x2=x1 |
y2=x1+y1 |
|
|
|
|
|
(x,y):=(x0, x0+y0) |
|
|
|
|
|
|
|
56 |
|
|
|
|
|
|
|
Путь 3.2 |
|
|
|
Условие пути 3.2: |
|
|
|
|
(x0 -1)&(y0 0)&(y1 -2)= |
|
|
|
|
|
Оператор |
Условие |
x |
y |
(x0 -1)&(y0 -2)&(y0 0)= , |
|
||||
|
|
|
|
путь 3.2 не реализуется |
|
|
|
|
|
|
(x0 -1) & |
x1=x0 |
y1=y0 |
|
|
(y0 0) |
|
|
|
|
|
|
|
|
x:=x-y |
y1 -2 |
x2=x1-y1 |
y2=y1 |
|
|
|
|
|
|
57
Из таблиц выписываем результирующую
функцию алгоритма
(x0+y0, x0+2*y0), если (x0<-1)&(y0>-2);
(x,y) = (x0, y0), |
если (x0<-1)&(y0 -2); |
(x0, 2*x0-y0), если (x0 -1)&(y0<0);
(x0, x0+y0), |
если (x0 -1)&(y0 0). |