Traestan
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору НАрод подскажите че не так в проге Плиз в понедельник -среда сдавать Разработать алгоритм и составить программу вычисления таблицы значений функции, заданной в виде разложения в ряд. Значение функции вычислять с точностью е>0, т.е. вычисление суммы членов ряда необходимо прекратить, когда абсолютная величина очередного члена ряда разложения окажется меньше |ак | <e. c_k=ak+1/ak ak=1^k+1*((x^2k-1)/(2k-1)(2k-1))! ak+1=1^k+2*(( x^2k-1)/(2k-1)(2k+1))! Задача 2 Вычисление таблицы значений функции program me2; uses crt; var t,a0,b,h,e,v,ak,n,p,x,w,a_k,c_k,f:real; g,k,s,u,l,i,m:integer; begin clrscr; writeln('Введите исходные данные'); write('a'); readln(a0); write('b'); readln(b); write('шаг h'); readln(h); write('Точность вычисления e'); readln(e); writeln; writeln('Таблица значений функции'); i:=1; repeat {ak} t:=1; for g:=1 to (k+1) do begin t:=t*g; end; for s:=2 to 2*k-1 do begin v:=v*v; end; n:=1; for u:=2 to 2*k-1 do begin n:=n*u; end; {a_k+1} p:=1; for l:=1 to k+2 do begin p:=p*l; end; for i:=2 to 2*k-1 do begin x:=x*x; end; w:=1; for m:=2 to 2*k+1 do begin w:=w+m; end; a_k:=p*(x/((2*k-1)*w)); ak:=t*(v/((2*k+1)*n)); while abs(ak)<e do begin c_k:=a_k/ak; end; writeln('|',i:3,'|',x:7:2,'|',x:14:6,'|',k:10,'|'); x:=x+h; f:=f+c_k; i:=i+1; k:=k+1; until x>b; readln; end. |