Эта пиктограмма обозначает что это место для взрослых с детьми.
Const e=0.00001;
var x,x0,xk,h,a,s,y:real; n,i,k:integer;
begin
write('x0=');readln(x0);
write('xk=');readln(xk);
h:=0.1;
x:=x0-h;
n:=round((xk-x0)/h)+1;
writeln('№ x S(x) y(x)');
for i:=1 to n do
begin
x:=x+h;
a:=1; s:=a; k:=0;
while abs(a)>e do begin
a:=-a*2*x/(2*k+1)/(2*k+2);
s:=s+a;
inc(k);
end;
writeln(i:2,' ',x:3:1,' ',s:8:5,' ',cos(sqrt(2*x)):8:5);
end;
end.
Пример:
x0=0.5
xk=1.5
№ x S(x) y(x)
1 0.5 0.54030 0.54030
2 0.6 0.45765 0.45765
3 0.7 0.37795 0.37795
4 0.8 0.30114 0.30114
5 0.9 0.22716 0.22716
6 1.0 0.15594 0.15594
7 1.1 0.08744 0.08744
8 1.2 0.02160 0.02160
9 1.3 -0.04164 -0.04164
10 1.4 -0.10234 -0.10234
11 1.5 -0.16056 -0.16056
Линии пересекаются в точках, где их уравнения при одинаковых аргументах возвращают одинаковые значения. Чтобы определить условия точек пересечения заданных уравнений линий
следует приравнять их правые части и решить полученное уравнение относительно аргумента х.
Сделаем подстановку и получим квадратное уравнение:
Далее находим дискриминант, проверяем его знак, производим ветвление алгоритма в зависимости от результата. При неотрицательных t определяем х, извлекая из t квадратный корень и для каждого х вычисляем у из второго уравнения (оно короче).
var
a, b, c, d, f, m, p: real;
function y(x: real): real;
begin
y := b * x * sqr(x) + m * sqr(x) + d * x + p
end;
procedure OutPoint(x: real);
begin
writeln('Найдена точка пересечения функций (', x, ',', y(x), ')')
end;
procedure TDev(t: real; var np: Boolean);
var
x: real;
begin
if t = 0 then begin
np := false;
OutPoint(0)
end
else if t > 0 then begin
np := false;
x := -sqrt(t);
OutPoint(x);
x := sqrt(t);
OutPoint(x)
end
end;
var
x1, x2, u, v, t1, t2, Dis: real;
NoPoints: Boolean;
begin
writeln('Введите значения переменных a,b,c,d,f,m,p');
readln(a, c, f, m, p);
u := c - m;
v := f - p;
Dis := sqr(u) - 4 * a * v;
NoPoints := true;
if Dis = 0 then begin
t1 := -u / (2 * a);
TDev(t1,NoPoints);
end
else begin
t1 := (-u - sqrt(Dis)) / (2 * a);
TDev(t1,NoPoints);
t2 := (-u + sqrt(Dis)) / (2 * a);
TDev(t2,NoPoints);
end;
if NoPoints then writeln('Общих точек пересечения нет')
end.
Тестовое решение
Введите значения переменных a,b,c,d,f,m,p
2 3 4 5 6 7 8
Найдена точка пересечения функций (-1.27201964951407,14.0901699437495)
Найдена точка пересечения функций (1.27201964951407,14.0901699437495)
Введите значения переменных a,b,c,d,f,m,p
-3 -5 -3 2 1 4 5
Общих точек пересечения нет
Text='Hello, world!'
print(text[text.rfind(' ')+1:]+text[text.find(' '):text.rfind(' ')+1]+text[:text.find(' ')])