Надо написать программу которая находит значение функции e-x2 через ряд Тейлора, она работает от -4 до 4, хотя должна от минус (программа Паскаль)

5тата282 5тата282    1   16.04.2019 23:00    3

Ответы
черныйЗайка черныйЗайка  16.04.2019 23:00
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Другие предметы