Курсовая работа: Численное интегрирование методом Гаусса
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;