Вычислить и вывести на экран в виде таблицы значения функции - Pascal (80435)
Формулировка задачи:
Помогите пожалуйста! целую неделю ломаю голову(((( никак не получается сделать. заранее спасибо!!!
весь этот ужас надо сделать на Паскале(
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с шагом dx с точностью ε. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции»
textual
Листинг программы
- var n: integer;
- xnac, xkon, dx, x, a, s, eps: real;
- begin
- write(' Начальное значение аргумента: ');
- readln(xnac);
- write(' Конечное значение аргумента: ');
- readln(xkon);
- if xnac > xkon
- then begin
- writeln('Начальное больше конечного, значения обменяны местами.');
- x := xnac;
- xnac := xkon;
- xkon := x
- end;
- repeat
- write('Шаг изменения аргумента (dx > 0): ');
- readln(dx)
- until dx > 0;
- if xkon - xnac < dx then writeln('Шаг слишком большой, будет выведено только одно значение функции.');
- repeat
- write(' Точность вычислений (eps > 0): ');
- readln(eps)
- until eps > 0;
- writeln;
- writeln('Таблица значений ряда Тейлора для функции f(x)=ln((x+1)/(x-1))');
- writeln('на интервале от ', xnac, ' до ', xkon);
- writeln('с шагом ', dx, ' с точностью ', eps);
- writeln;
- writeln('+------------------------+------------------------+------------------------+');
- writeln('| x | S(x) | Просуммировано членов |');
- writeln('+------------------------+------------------------+------------------------+');
- x := xnac;
- xkon := xkon + dx / 2;
- eps := eps / 2;
- while x < xkon do
- begin
- write('| ', x:22, ' | ');
- if abs(x) <= 1
- then writeln('не определено':22, ' | ', 'не определено':22, ' |')
- else begin
- a := 1 / x;
- s := a;
- n := 1;
- while abs(a) >= eps do
- begin
- a := a * (n - 0.5) / (n + 0.5) / x / x;
- s := s + a;
- inc(n)
- end;
- writeln(2 * s:22, ' | ', n:22, ' |')
- end;
- x := x + dx
- end;
- writeln('+------------------------+------------------------+------------------------+');
- readln
- end.
Объяснение кода листинга программы
- Объявляется переменная
n
типаinteger
. - Объявляются переменные
xnac
,xkon
,dx
,x
,a
,s
,eps
типаreal
. - Вводится начальное значение аргумента и присваивается переменной
xnac
. - Вводится конечное значение аргумента и присваивается переменной
xkon
. - Проверяется условие, если
xnac
большеxkon
, то значения переменных меняются местами. - Вводится шаг изменения аргумента и присваивается переменной
dx
. - Проверяется условие, если разность
xkon - xnac
меньшеdx
, выводится сообщение о том, что шаг слишком большой. - Вводится точность вычислений и присваивается переменной
eps
. - Выводится заголовок таблицы с информацией о функции и интервале значений аргумента.
- Идет цикл вывода значений функции для каждого
x
из заданного интервала. - Расчет значений с использованием ряда Тейлора для функции
f(x)=ln((x+1)/(x-1))
. - Выводится результат в виде таблицы с колонками для
x
,S(x)
иПросуммировано членов
. - Цикл завершается, и таблица закрывается.
- Приложение ожидает ввода пользователя для закрытия.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д