Курсовая работа: Численное интегрирование методом Гаусса

gauss_calc: =s*(b-a);

end;

{рекурсивная ф-ция подсчета с заданной точностью}

{ gc - ранее посчитаный интеграл на интервале (a,b) }

function gauss(a,b,eps,gc: real): real;

var t,ga,gb: real;

begin

t: =(a+b) /2; {разбиваем интервал на две половинки}

ga: =gauss_calc(a,t); {в каждой половинке считаем интеграл}

gb: =gauss_calc(t,b);

if abs(ga+gb-gc) >eps then {проверяем точность вычислений}

begin

ga: =gauss(a,t,eps/2,ga); {рекурсия для первой половинки}

gb: =gauss(t,b,eps/2,gb); {рекурсия для второй половинки}

end; {при этом точность повышаем, чтобы }

{при сложении ошибка не накапливалась}

gauss: =ga+gb; {интеграл = сумме интегралов половинок}

end;

procedureinputnum(prm: string; varnum: real; lb,ub: real); {процедура ввода данных}

var q: boolean;

begin

repeat

write('Введите ',prm,' '); readln(num);

q: =(lb>=num) or (num>ub);

if q then writeln('Число должно быть от ', lb: 0: 0,' до ',ub: 0: 0);

until not q;

end;

procedure titul; {Вывод титульного листа}

var f: text; s: string;

К-во Просмотров: 404
Бесплатно скачать Курсовая работа: Численное интегрирование методом Гаусса