Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Программа_____






Program integral; {Метод Симпсона}

Uses crt;

var i, n, c: integer;

a, b, h, x, s: real;

function f(x: real): real;

begin

f: =(l/x)*sin(Pi*x/2);

end;

begin

clrscr; gotoxy(10, 10);

textbackground(l); clrscr;

write('Введите нижний предел интегрирования ');

readln(a); gotoxy(10, 12);

write('Введите верхний предел интегрирования ');

readln(b); gotoxy(10, 14);

write('Введите количество отрезков '); readln(n);

h: =(b-a)/n; s: =0; х: =а; с: =1;

for i: =l to n-1 do

begin

x: =x+h; s: =s+(3+c)*f(x); c: =-c;

end;

s: =h*(f(a)+f(b)+s)/3; gotoxy(10, 18);

write('Интеграл равен ', s: 11: 5);

readln;

end.

Пример 13. Вычислить интеграл методами трапеций и Симпсона.

Программа_____________________________________________________

program tr_s;

uses crt, graph;

var

a, b: real; { Границы отрезка }

r, r2: real; { Предыдущее и текущее значения интеграла}

minteger; { Счетчик }

{ Интегрируемая функция }

function f(x: real): real;

begin

f: =0.43429/(x*ln(x));

end;

{ Метод трапеций }

function trap(a, b: real; n: integer): real;

var

s: real; {Сумма }

h: real; { Шаг }

rminteger; { Счетчик } begin

h: =(b-a)/(n-I);

s: =(f(a)+f(b))/2; { Начальное значение суммы }

for m: =l to n-2 do s: =s+f(a+m*h);

trap: =s*h; {Значение интеграла }

end;

{ Метод Симпсона }

function simpson(a, b: real; n: integer): reaI;

var

s: real; { Сумма }

h: real; { Шаг }

mrinteger; { Счетчик }

mminteger; { Очередной множитель } begin

h: =(b-a)/(n-l); {Вычисление шаг}

s: =f(a)+f(b); { Начальное значение шага }

mn: =4; { Первый множитель }

{ Суммирование остальных элементов }

for m: =l to n-2 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

clrscr;

\угке('Введите нижний предел интегрирования ');

readln(a);

у/гке('Введите верхний предел интегрирования ');

readln(b);

write('Введите количество отрезков '); readln(n);

writeln('Интeгpaл равен ', trap(a, b, n), simpson(a, b, n));

readln;

end.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал