Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.84] |
|
Сообщ.
#1
,
|
|
|
По заданым вещественным числам а, b (a<b) вычислить
f c индексом 1=корень из (2 в степени x - 1) a с индексом 1=0.2; b с индекосм 1=1.0 f с индексом 2=(arcsin корень из X)/(x*корень из 1-X) a с индексом 2=0.2; b с индексом 2=0.3 Приближенное значение интеграла определить по формуле прямоугольника с заданной точностью eps. Вычисление интеграла оформить в виде ф-ции integr(x, y, e:real; function f:real):real, где X,y- границы интервала;e-точность вычисления интеграла; f- имя подинтегральной функции! |
Сообщ.
#2
,
|
|
|
И не стыдно тебе, такие пошлые темы задавать!!!
Вот прога, считает по прямоугольнику и по методу Симпсона - это гораздо лучше прямоугольника, т.к. "сходится" быстрее и точнее. Конечно, прога не оптимал.. Если цель сдать преподу метод прямоугольника, то это просто очень куево, что Вы не могете сами... uses crt; Function f(x : extended) : extended; begin f:=-sqr(x); end; Function Calc_Rectangle(a, b, toch : extended) : extended; var tmp,h,Result,x : extended; begin Result:=0; x:=a; h:=toch; repeat x:=x+h; result:=result+(h)*(f(x)); until x>b; Calc_Rectangle:=Result; end; Function Calc_Simps(a, b, toch : extended; StepCnt : Longint) : extended; var L,i : longint; Result,T,Step,tmp : extended; begin Result:=0; repeat tmp:=Result; Result:=f(a); Step:=(b-a)/StepCnt; t:=a+Step; L:=(StepCnt div 2)-1; For i:=1 to L do begin Result:=Result+4*f(t); t:=t+Step; Result:=Result+2*f(t); t:=t+Step; end; Result:=Step*(Result+4*f(b-step)+f(b))/3; StepCnt:=StepCnt*2; Tmp:=abs(tmp-result); until tmp<=Toch; Calc_Simps:=Result; end; begin clrscr; { Calc_Simps(a, b, toch : real; StepCnt : Longint) Параметры процедуры Calc_Simps: a, b - пределы интегрирования (нижний и верхний соотв.) toch - точность метода StepCnt - начальное число шагов } writeln('Методом Симпсона: ',Calc_Simps(-10,10,1E-5,10):4:4); writeln('Методом прямоугольника: ',Calc_rectangle(-10,10,1E-3,10):4:4); end. может быть чо не так, сам не пробовал, не знаюю. |