Показать сообщение отдельно
Старый 21.02.2014, 16:22   #1 (permalink)
steamangarsk
Member
 
Регистрация: 28.12.2012
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Вычислить значения суммы ряда при заданных с консоли начальном и конечном значениях

Помогите перевести с Паскаля в Си... Код на Паскале написан правильно... Если нужно то задание такое: Вычислить значения суммы ряда S при заданных с консоли начальном и конечном значениях аргумента x (x_nach, x_kon), шаге его изменения delta_x и точности вычислений eps. Вычисленные значения ряда сравнить со значениями заданной функции f(x). Результаты вычислений вывести в виде таблицы с заголовком.
Код:
var x, s, f, x_nach, x_kon, delta_x,eps, t:real;
 n:word;
begin
writeln('laboratornya rabota №3');
writeln('variant №8');
writeln;
writeln('Ввод исходных данных');
write('x_nach=');
readln(x_nach);
write('x_kon=');
readln(x_kon);
write('delta_x=');
readln(delta_x);
write('eps=');
readln(eps);
writeln;
writeln('Для x=', x_nach:0:3, ' до ', x_kon:0:3, ' шаг=', delta_x:0:6, 'точность=',eps:0:6);
writeln;
writeln(' x n s f');
writeln('----------------------------');
 
x:=x_nach;
repeat
t:=x;
s:=0;
n:=1;
if(x<0.0)and(x>=-1.0)
then
f:=pi/2+arctan(sqrt(1.0-x*x)/x)
else
if(x>0.0)and(x<=1.0)
then
f:=arctan(sqrt(1.0-x*x)/x)
else
f:=0.0;
while(abs(t)>eps)do
begin
s:=s+t;
t:=t*x*x*(2.0*n-1.0)*(2.0*n-1.0)/((2.0*n)*(2.0*n+1.0));
n:=n+1;
end;
writeln(x:0:3,' ',n,' ',s:0:3,' ',f:0:3);
x:=x+delta_x;
until(x>x_kon);
end.
steamangarsk вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070