var
n, k, e: integer;
x, y, y1, xmin, xmax, d, p, t: real;
begin
write('Введите xmin и xmax: ');//диапазон иксов
readln(xmin, xmax);
write('Введите Е и N: ');//Е-знак после запятой(обратный эпсилон), N-колличество точек
readln(e, n);
p := power(10, -e);//точность вычислений
writeln(p);
d := abs(xmax - xmin) / (n - 1);//интервал меду точками
writeln('Шаг X: ', d);
x := xmin;
writeln('');
writeln('X |Y ', ' ' * e, '|Колво членов ряда|y1', ' ' * e, '|');
writeln('');
for var i := 1 to n do //для каждой точки Х вычисляем значения,
begin
y1 := exp(-(x * x));//встроенная в паскаль функция экспоненты
k := 0; {нулевой индекс}
y := 1; {начальное значение итоговой суммы}
t := 1;{знчение члена ряда при k=0}
while abs(t) >= (p) do {пока модуль очердного члена ряда не меньше точности} //нахождение значения функции при помощи степенного ряда
begin
k := k + 1;{следующий член}
t := -t * x * x / k;{домножаем на х^2(возводим в степень) и делим на индекс(обратный факториал)}
y := y + t;{суммируем}
end;
writeln();
writeln(x:3, ' ', y:e + 2:e, ' ', k + 1:2, ' ', y1:e + 2:e);//выводим значение х, найденной функции, количества слагаемых в ряду Тейлора(t) и значение функции встроенной в паскаль для проверки
x := x + d;//следующая точка
end;
end.
n, k, e: integer;
x, y, y1, xmin, xmax, d, p, t: real;
begin
write('Введите xmin и xmax: ');//диапазон иксов
readln(xmin, xmax);
write('Введите Е и N: ');//Е-знак после запятой(обратный эпсилон), N-колличество точек
readln(e, n);
p := power(10, -e);//точность вычислений
writeln(p);
d := abs(xmax - xmin) / (n - 1);//интервал меду точками
writeln('Шаг X: ', d);
x := xmin;
writeln('');
writeln('X |Y ', ' ' * e, '|Колво членов ряда|y1', ' ' * e, '|');
writeln('');
for var i := 1 to n do //для каждой точки Х вычисляем значения,
begin
y1 := exp(-(x * x));//встроенная в паскаль функция экспоненты
k := 0; {нулевой индекс}
y := 1; {начальное значение итоговой суммы}
t := 1;{знчение члена ряда при k=0}
while abs(t) >= (p) do {пока модуль очердного члена ряда не меньше точности} //нахождение значения функции при помощи степенного ряда
begin
k := k + 1;{следующий член}
t := -t * x * x / k;{домножаем на х^2(возводим в степень) и делим на индекс(обратный факториал)}
y := y + t;{суммируем}
end;
writeln();
writeln(x:3, ' ', y:e + 2:e, ' ', k + 1:2, ' ', y1:e + 2:e);//выводим значение х, найденной функции, количества слагаемых в ряду Тейлора(t) и значение функции встроенной в паскаль для проверки
x := x + d;//следующая точка
end;
end.