Помощь - Поиск - Пользователи - Календарь
Полная версия: Вычисление интеграла
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Гость
нужно вычислить интеграл ф-ции (x/2+5)*cos(x/2) в интервале от а до b...
вот кусочек проги, есть вопрос,я записала его как комментарии в программе.
Procedure Integral(xn,xk:real; var S:real;f1:RealFunctionType);
const n=1000;
var x,dx:real;
begin
dx:=(xk-xn)/n;
x:=xn;
S:=0;
while x<xk do
begin
S:=S+(f1(x)+f1(x+dx))/2*dx; <=== {здесь должно быть может S:=S+(f1(x/2)+f1(x/2+dx))/2*dx;???}
x:=x+dx;
end;
end;

{$F+}
Function MyFunc(x:real):real;
begin
MyFunc:=(x/2+5)*cos(x/2)
end;
{$F-}



М
Выбирай правильные теги, пожалуйста. Lapp

Lapp
Цитата(Гость @ 16.04.2007 0:32) *
должно быть может S:=S+(f1(x/2)+f1(x/2+dx))/2*dx;???}
Почему бы это? Деление на 2 у тебя уже вполне разумно включено в саму функцию:
Цитата(Гость @ 16.04.2007 0:32) *

MyFunc:=(x/2+5)*cos(x/2)
Зачем делить еще раз?..Или ты что-то другое имела в виду? может, то деление пополам, что стоит в вычислении среднего?..
Короче, ничего не надо такого, все нормально.
Гость
Хорошо,теги буду выбирать правильно,извиняюсь!
Ну если так правильно,то хорошо,я просто подумала, что может там нужно делить на 2, так как в самой функции стоит x/2...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.