Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2011, 21:18   #1
km77
 
Регистрация: 31.05.2011
Сообщений: 4
Восклицание Численное интегрирование(метод Симпсона)

Есть программа,которая должнна вычислять интеграл ф-ии x^2/x-3 на отрезке [1,4].Но есть одна проблема в то что при задании пределов интегрирование от 1 до 3 или от 2 до 3,программа не работает,потому что если посмотреть на ф-ию и поставить вместо х=3,то прогр. не будет считать интеграл,така как знаменатель будет =0,то есть нужно ввести условие при котором она будет работать на всем отрезке от 1 до 4.

program test;
uses crt;
var a,b,r,r2,eps:real;
n:integer;
function f(x:real):real;
begin
f:=sqr(x)/(x-3);
end;
function Simpson(a,b:real; n:integer):real;
var s,h:real;
m,mn:integer;
begin
h:=(b-a)/(2*n);
s:=f(a)+f(b);
mn:=4;
for m:=1 to 2*n-1 do
begin
s:=s+mn*f(a+h*m);
if mn=4 then mn:=2
else mn:=4;
end;
Simpson:=s*h/3;
end;
begin
writeln ('введите нижнюю границу');
Readln (a);
writeln('введите верхнюю границу');
readln(b);
writeln('введите погрешность');
readln(eps);
n:=2;
r:=simpson(a,b,n);
repeat
r2:=r;
n:=n*2;
r:=simpson(a,b,n);
until abs(r-r2)<eps;
Writeln;
Writeln ('Значение интеграла = ' ,r:6:6);
writeln ('количество разбиений = ',n);
readkey;
end.
km77 вне форума Ответить с цитированием
Старый 03.06.2011, 09:36   #2
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Код:
function f(x:real):real;
 begin
 if(x=3) return 0; // Если делитель равен нулю то функция равна 0 (пропуск точки)
 f:=sqr(x)/(x-3);
 end;
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Численное интегрирование km77 Помощь студентам 3 02.06.2011 09:21
Численное интегрирование(метод Симпсона) (=Hello=) Помощь студентам 1 18.03.2011 23:05
Численное интегрирование. Проблема. nikozavr Общие вопросы C/C++ 8 20.02.2011 15:22
Численное интегрирование abs123 Паскаль, Turbo Pascal, PascalABC.NET 1 26.12.2010 22:43
численное интегрирование методом Симпсона: трудности с блок-схемой smalljoke Помощь студентам 0 26.11.2010 02:34