Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора - Turbo Pascal (29513)
Формулировка задачи:
Вычислить и вывести на экран в виде таблицы значения функции, заданной с по-
мощью ряда Тейлора, на интервале от x-нач до x-кон с шагом dx с точностью ε. Та-
блицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать
значение аргумента, значение функции и количество просуммированных членов
ряда.
С комментариями пожалуйста!
Решение задачи: «Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора»
textual
Листинг программы
function Sum(X, eps : Real; var N : Integer) : Real; var S, Sl : Real; begin N := 0; if Abs(X) <= 1 then begin Sum := 0; Exit; end; Sl := 1/X; S := Sl; repeat Inc(N); Sl := Sl / X / X; S := S + Sl / (N*2 - 1); until Abs(Sl/ (N*2 - 1)) < eps; Sum := S; end; var eps, X, Y, X0, X1, dX : Real; N : Integer; begin Write(' Начальное значение X = '); ReadLn(X0); Write(' Конечное значение X = '); ReadLn(X1); Write(' Размер шага dX = '); ReadLn(dX); Write('Значение точности eps = '); ReadLn(eps); WriteLn; WriteLn(' X | Arth(X) | N'); WriteLn('--------------------------------'); X := X0; repeat Y := Sum(X, eps, N); if N = 0 then WriteLn(X:10:4, ' | n/a | ', N:4) else WriteLn(X:10:4, ' |', Y:10:4, ' | ', N:4); X := X + dX; until X > X1; end.
Объяснение кода листинга программы
- Создается функция Sum, которая принимает три параметра: X, eps и N. Внутри функции объявлены переменные S, Sl и N, инициализированные нулем.
- В блоке if проверяется, является ли абсолютное значение X меньше или равно единице. Если это так, то функция Sum выводит ноль и завершает свою работу.
- Если условие из пункта 2 не выполняется, то переменные Sl и S инициализируются соответственно как 1/X и 0.
- Затем происходит цикл repeat, который выполняется до тех пор, пока отношение Sl/ (N*2 - 1) не станет меньше или равно eps.
- В каждой итерации цикла значение Sl делится на (N2 - 1), а S увеличивается на Sl/ (N2 - 1).
- После завершения цикла значение S сохраняется в переменной Sum.
- В основной части программы объявляются переменные eps, X, Y, X0 и X1.
- Задаются начальное и конечное значения X, размер шага dX и точность eps.
- Выводится сообщение с запросом начального значения X.
- Выводится сообщение с запросом конечного значения X.
- Выводится сообщение с запросом размера шага dX.
- Выводится сообщение с запросом значения точности eps.
- Выводится пустая строка.
- Выводится сообщение « X | Arth(X) | N».
- Выводится сообщение «--------------------------------».
- Задается начальное значение X.
- Запускается цикл repeat, который выполняется до тех пор, пока X не станет больше X1.
- В каждой итерации цикла вызывается функция Sum с параметрами X, eps и N.
- Если N равно нулю, то выводится сообщение с результатом в формате «X:10:4 | n/a | N:4».
- Если N не равно нулю, то выводится сообщение с результатом в формате «X:10:4 | X | Y:10:4 | N:4».
- Значение X увеличивается на dX.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д