|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
28.04.2013, 20:11 | #1 (permalink) |
Member
Регистрация: 26.04.2013
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
При различных значениях параметра z, входящего в выражение для функции f(x)
|
28.04.2013, 20:11 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Встречал подобные посты ранее, вы можете их прочитать Функции Стив Балмер снова обещает выход различных устройств от Microsoft Пытаюсь создать выражение, но где-то ошибка Все замирает на различных этапах загрузки и BlueScreen Посчитать количество различных цифр в записи. Паскаль, программа почти написана. Разложение функции Y в ряд S |
28.04.2013, 20:17 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Идём сюда и меняем в программе функцию, первообразную пределы, а также слегка - процедуру, чтобы от трапеции перейти к прямоугольникам. Всё!
|
28.04.2013, 20:57 | #3 (permalink) |
Member
Регистрация: 26.04.2013
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Код:
program p; Const a=0.15; b=0.75; function F(x1,z1:Real):Real; begin F:=x1*(Sqrt(x1^2+z1^2)); end; function Antiderivative(x1,z1:Real):Real; begin Antiderivative:=1/3*(Sqrt(power(3,x1^2+z1^2)); end; procedure rect(zt,et:real; var T:real; var Nt:Integer); var i,N:Integer; Sum1,Sum2,h:Real; begin N:=5; h:=(b-a)/N; Sum1:=(F(a,zt)+F(b,zt))/2*h; for i:=1 to N-1 do Sum1:=Sum1+h*F(a+h*i,zt); Sum2:=Sum1; repeat Sum1:=Sum2; N:=N*2; h:=(b-a)/N; Sum2:=(F(a,zt)+F(b,zt))/2*h; for i:=1 to N-1 do Sum2:=Sum2+h*F(a+h*i,zt); until ABS(Sum2-Sum1)<et; Nt:=N; T:=Sum2; end; var i,j,M:Integer; z,R,Eps:real; begin write('z= '); readln(z); eps:=0.1; for j:=1 to 4 do begin eps:=Eps/10; trapezium(z,Eps,R,M); writeln('Eps= ',Eps:8); writeln('Number of steps= ',M); writeln('Result: ',R:0:9); writeln; end; writeLn('Accurate value:', (Antiderivative(b,z)-Antiderivative(a,z)):0:9); ReadLn; end. |
28.04.2013, 21:14 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ладно, раз уж хоть что-то сделано самостоятельно... Правда, сдается мне, что Паскаль конструкций вида х1^2 напрочь не поймёт, ну да ладно:
Код:
Const a=0.15; b=0.75; function F(x1,z1:Real):Real; begin F:=x1*Sqrt(Sqr(x1)+Sqr(z1)); end; function Antiderivative(x1,z1:Real):Real; begin Antiderivative:=1/3*Sqrt((Sqr(x1)+Sqr(z1))*(Sqr(x1)+Sqr(z1))*(Sqr(x1)+Sqr(z1))); end; procedure rect(zt,et:real; var T:real; var Nt:Integer); var i,N:Integer; Sum1,Sum2,h:Real; begin N:=5; h:=(b-a)/N; Sum1:=0; for i:=0 to N-1 do Sum1:=Sum1+h*F(a+h*i+h/2,zt); Sum2:=Sum1; repeat Sum1:=Sum2; N:=N*2; h:=(b-a)/N; Sum2:=0; for i:=0 to N-1 do Sum2:=Sum2+h*F(a+h*i+h/2,zt); until ABS(Sum2-Sum1)<et; Nt:=N; T:=Sum2; end; var j,M:Integer; z,R,Eps:real; begin write('z= '); readln(z); eps:=0.1; for j:=1 to 4 do begin eps:=Eps/10; rect(z,Eps,R,M); writeln('Eps= ',Eps:8); writeln('Number of steps= ',M); writeln('Result: ',R:0:9); writeln; end; writeLn('Accurate value:', (Antiderivative(b,z)-Antiderivative(a,z)):0:9); ReadLn; end. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|