29.05.2014, 18:52 | #1 (permalink) |
Новичок
Регистрация: 21.05.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Ряд Тейлора
У меня получился стандартный код,но не знаю что ввести на месте s,h; Код:
program Za_; var h, s, x, xmin, xmax, dx, Eps : real; n : integer; begin write( 'xmin= '); read(xmin); write( 'xmax='); read(xmax); write( 'dx='); read(dx); write( 'Eps= '); read(eps); x := xmin; while x <= xmax do begin h := ; s := ; n:= 0; while (abs(h) > eps) do begin s := s + h; n := n + 1; h := ; end; writeln( 'x= ', x , ' S= ', s:5:10,' N= ', n:3, ' sin(x)/x = ' , sin(x)/x:3:10); x := x + dx; end; end. |
29.05.2014, 18:52 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Участники форума когда то создавали аналогичные темы Ряд Тейлора Помогите с задачей. Ряд Тейлора. Ряд Тейлора |
29.05.2014, 22:54 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Пожалуйста:
Код:
var h,s,x,xmin,xmax,dx,Eps:real; n: integer; begin write( 'xmin= '); readln(xmin); write( 'xmax= '); readln(xmax); write( 'dx= '); readln(dx); write( 'Eps= '); readln(eps); x:=xmin; while x<=xmax do begin h:=1; s:=1; n:=0; while (abs(h)>eps) do begin n:=n+1; h:=-h*x*x/(2*n+1)/(2*n); s:=s+h; end; if x<>0 then writeln('x= ',x:8:5,' S= ',s:7:5,' N= ',n:3, ' sin(x)/x = ',sin(x)/x:7:5) else writeln('x= ',x:8:5,' S= ',s:7:5,' N= ',n:3, ' sin(x)/x = 1.00000'); x:=x+dx; end; Readln end. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|