Вычислить и вывести на экран в виде таблицы значения функции - 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)
иПросуммировано членов
. - Цикл завершается, и таблица закрывается.
- Приложение ожидает ввода пользователя для закрытия.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д