Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Программа_____
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.
|