P(x;y)dx+Q(x;y)dy
является полным дифференциалом, если
∂P/∂y=∂Q/∂x.
∂P/∂y=((x+y)/(xy))`y=((x+y)`y·(xy)–(xy)`y·(x+y))/(xy)2= –x2/(xy)2= – 1/y2
∂Q/∂x=(1/y2)·(y–x)`x=(1/y2)·(–1)=–1/y2
∂P/∂y=∂Q/∂x
Данное уравнение – уравнение в полных дифференциалах
Это значит
∂U/∂x=P(x;y)
∂U/∂y=Q(x;y)
Зная, частные производные можем найти U(x;y)
U(x;y)= ∫ (∂U/∂x)dx= ∫ P(x;y)dx= ∫ (x+y)dx/(xy)=
=(1/y) ∫ (x+y)dx/x=(1/y) ∫ (1+(y/x))dx=(1/y)·x+(1/y)·yln|x|+ φ (y)=
=(x/y)+ln|x|+ φ(y)
Находим
∂U/∂y= ((x/y)+ln|x|+ φ(y))`y=x·(1/y)`+0+ φ `(y)= (–x/y2)+φ `(y)
Так как
то
(–x/y2)+φ `(y) =(y–x)/y2;
⇒
φ `(y)=1/y
φ(y)=ln|y|+C
U(x;y)=(x/y)+ln|x|+ φ(y)=(x/y)+ln|x|+ln|y|+C
О т в е т.U(x;y)=(x/y)+ln|x·y|+C
рассмотрим, что делает эта программа.
c : = 0; // начальное значение счётчика
for i : = 1 to 9 do // цикл по i
if a[i - 1] < a[i] then begin // если текущий элемент больше предыдущего
c : = c + 1; // то увеличиваем счётчик на 1
t : = a[i]; // и меняем текущий элемент местами с предыдущим
a[i] : = a[i - 1];
a[i - 1] : = t
end;
последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).
итак, моделируем, что делает программа и считаем число обменов.
0) 6 9 7 2 1 5 0 3 4 8 - исходный массив
1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 обмен
2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 обмен
3) 9 7 6 2 1 5 0 3 4 8 ок
4) 9 7 6 2 1 5 0 3 4 8 ок
5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 обмен
6) 9 7 6 2 5 1 0 3 4 8 ок
7, 8, 9) ноль будет "всплывать" в конец, 3 обмена
всего будет 6 обменов, c = 6.
P(x;y)dx+Q(x;y)dy
является полным дифференциалом, если
∂P/∂y=∂Q/∂x.
∂P/∂y=((x+y)/(xy))`y=((x+y)`y·(xy)–(xy)`y·(x+y))/(xy)2= –x2/(xy)2= – 1/y2
∂Q/∂x=(1/y2)·(y–x)`x=(1/y2)·(–1)=–1/y2
∂P/∂y=∂Q/∂x
Данное уравнение – уравнение в полных дифференциалах
Это значит
∂U/∂x=P(x;y)
∂U/∂y=Q(x;y)
Зная, частные производные можем найти U(x;y)
U(x;y)= ∫ (∂U/∂x)dx= ∫ P(x;y)dx= ∫ (x+y)dx/(xy)=
=(1/y) ∫ (x+y)dx/x=(1/y) ∫ (1+(y/x))dx=(1/y)·x+(1/y)·yln|x|+ φ (y)=
=(x/y)+ln|x|+ φ(y)
Находим
∂U/∂y= ((x/y)+ln|x|+ φ(y))`y=x·(1/y)`+0+ φ `(y)= (–x/y2)+φ `(y)
Так как
∂U/∂y=Q(x;y)
то
(–x/y2)+φ `(y) =(y–x)/y2;
⇒
φ `(y)=1/y
φ(y)=ln|y|+C
U(x;y)=(x/y)+ln|x|+ φ(y)=(x/y)+ln|x|+ln|y|+C
О т в е т.U(x;y)=(x/y)+ln|x·y|+C
рассмотрим, что делает эта программа.
c : = 0; // начальное значение счётчика
for i : = 1 to 9 do // цикл по i
if a[i - 1] < a[i] then begin // если текущий элемент больше предыдущего
c : = c + 1; // то увеличиваем счётчик на 1
t : = a[i]; // и меняем текущий элемент местами с предыдущим
a[i] : = a[i - 1];
a[i - 1] : = t
end;
последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).
итак, моделируем, что делает программа и считаем число обменов.
0) 6 9 7 2 1 5 0 3 4 8 - исходный массив
1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 обмен
2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 обмен
3) 9 7 6 2 1 5 0 3 4 8 ок
4) 9 7 6 2 1 5 0 3 4 8 ок
5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 обмен
6) 9 7 6 2 5 1 0 3 4 8 ок
7, 8, 9) ноль будет "всплывать" в конец, 3 обмена
всего будет 6 обменов, c = 6.