Вычисление конечных сумм - Turbo Pascal (29382)
Формулировка задачи:
Вычислить конечную сумму.
Запись функции и ряда:
Отрезок: [0.1; 0.8]
Шаг: h = 0.1
Количество членов ряда: n = 35
Решение задачи: «Вычисление конечных сумм»
textual
Листинг программы
const a=0.1;//начало интервала
b=0.8; //конец интервала
h=0.1; //шаг
n=35; //количество членов ряда при определении суммы
function y(x:real):real;//функция для сравнение результатов
begin
y:=-ln(1-2*x*cos(pi/3)+x*x)/2
end;
function summa(x:real):real;//функция определения суммы
var i:integer;
t,s:real;
begin
s:=0;//пока 0
t:=1;//нулевое значение члена ряда
for i:=1 to n do //35 раз считаем
begin
t:=t*x;//умножаем предыдущий на х(x^i)
s:=s+t*cos(i*pi/3)/i;//умножаем на cos(i*pi/3) и прибавляем
end;
summa:=s; //значение суммы
end;
var x:real;
begin
clrscr;
x:=a;//начнем табуляцию сначала
while x<=b do //пока не конец
begin
//выводим значения аргумента, суммы и функции
writeln('x=',x:3:1,' s=',summa(x):8:4,' y=',y(x):8:4);
x:=x+h; //следующий шаг
end;
Объяснение кода листинга программы
- В начале кода объявлены переменные a, b, h и n. Переменная n задает количество членов ряда при определении суммы.
- Затем объявлена функция y(x), которая вычисляет значение y на основе входного параметра x. Функция использует формулу y = -ln(1 - 2xcos(pi/3) + x*x)/2.
- Далее объявлена функция summa(x), которая вычисляет сумму. Переменная s инициализируется нулем, а переменная t инициализируется единицей.
- Затем идет цикл for, который выполняется 35 раз. В каждой итерации цикла значение переменной t умножается на x, а значение переменной s увеличивается на tcos(ipi/3)/i.
- После завершения цикла значение переменной s сохраняется в переменной summa.
- В конце кода переменная x инициализируется значением a, и цикл while начинается. В цикле выводятся значения x, summa и y на экран.
- После каждой итерации цикла значение x увеличивается на h.
- Цикл while продолжается до тех пор, пока x не станет больше или равно b.