Получить таблицу значений функции y и суммы (S) на заданном отрезке - Free Pascal
Формулировка задачи:
Задана некоторая функция у=f(х) и
некоторый ряд. Требуется получить таблицу значений данной функции y и суммы (S) на
заданном отрезке.
y=1/4+lnx, S=(x-1)/(x+1)+1/3((x-1)/(x+1))^3+…+((2n+1)/n!)x^2n
[0,2;1]
h=0,1; n=10
Решение задачи: «Получить таблицу значений функции y и суммы (S) на заданном отрезке»
textual
Листинг программы
uses crt; const a=0.2; b=1; h=0.1; n=10; function y(x:real):real; begin y:=0.5*ln(x); end; function s(x:real):real; var z,t,sm:real; k:integer; begin z:=(x-1)/(x+1); t:=z; sm:=t; for k:=2 to n do begin t:=t*z*z; sm:=sm+t/(2*k-1); end; s:=sm; end; var x:real; begin clrscr; writeln('------------------------'); writeln('| x | y | s |'); writeln('------------------------'); x:=a; while x<b+h/2 do begin writeln('|',x:4:1,' |',y(x):7:4,' |',s(x):7:4,'|'); x:=x+h; end; writeln('------------------------'); readln end.
Объяснение кода листинга программы
- Объявлены константы a, b, h, n, которые задают параметры функции и диапазон её изменения.
- Объявлены функции y(x) и s(x), описывающие поведение графика функции на заданном интервале.
- В функции y(x) вычисляется значение функции y(x)=0.5*ln(x).
- В функции s(x) вычисляется значение суммы S(x), разбивая интервал на n равных отрезков и вычисляя приближенное значение интеграла по формуле S(x)=t/(2*k-1), где t — значение функции z(x) в середине отрезка.
- В основной программе выводится таблица значений функции y(x), суммы S(x) и аргумента x при заданном шаге h на интервале от a до b.
- После вывода таблицы программа ожидает ввода пользователя для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д