Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2010, 15:06   #11
pashqa
Пользователь
 
Регистрация: 09.12.2010
Сообщений: 37
По умолчанию

Спасибо всем кто помог )
pashqa вне форума Ответить с цитированием
Старый 20.12.2010, 15:58   #12
pashqa
Пользователь
 
Регистрация: 09.12.2010
Сообщений: 37
По умолчанию маленькая просьба

Задача на циклы! При некоторых заданных х, N и E, определяемых вводом, вычислите сумму N слагаемых заданного вида, а так же сумму тех слагаемых, которые по абсолютной величине больше E. Для второго случая выполните суммирование для двух значений E, отличающихся на порядок, и при этом определите количество слагаемых, включенных в сумму. Сравните результаты с точным значением функции, для которой данная сумма определяет приближенное значение при x, лежащем на интервале (-R, R).

1∕ √1-x^2=1+1/2*x^2+(1*3)/(2*4)*x^4+(1*3*5)/(2*4*6)*x^6+…. (R=1).

Ребят подправьте строчку a:=(a*(2*i+1))/2*(i*sqr(x)),чтобы приближенное значение совпадало с приближенным....сижу сижу....и нихера не додумаюсь как сделать ее....никак не получается....

Код:

Program ProjectGg1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows,
Math;

Var
E,a,x,S:real;
k,N,i,j,choice:integer;
exit_:char;

Begin
SetConsoleOutPutCP (1251);
Repeat
writeln('1.сумма N слагаемых');
writeln('2.С точностью E');
writeln('3.завершение работы.');
readln(choice);
If choice=3 then
exit;
if (choice <>1) and (choice <>2) and (choice<>3) then
begin
writeln('неверный выбор');
writeln('введите 1, 2 или 3')
end;
if (choice =1) or (choice =2) then
begin
repeat
write('введите X (-1<X<1): ');
readln(x);
if (x<=-1) and (x>=1) then
begin
writeln('неверное значение x');
//writeln('введите X (-1<X<1): ')
end;
until abs(x)<1;
writeln('точное значение=', 1/sqrt(1-sqr(x)):9:7);
end ;
if choice=1 then
begin
writeln('введите количество слагаемых');
readln(N);
S:=0;
a:=1;
for i:=0 to N-1 do
begin
S:=S+a;
a:=(a*(2*i+1))/2*(i*sqr(x));
end;
writeln('сумма ',N,' слагаемых равна ',S:9:7)
end
else
begin
writeln('введите E');
readln(E);
S:=0;
a:=1;
i:=0;
for k:=1 to 2 do
begin
while abs(a)>=E do
begin
S:=S+a;
a:=(a*(2*i+1))/2*(i*sqr(x));
i:=i+1
end;
writeln('приближенное значение (',E:8:4,')=' , S:9:7);
writeln('число слагаемых=' , i);
E:=E/10 ;
end;
writeln('завершение работы?(Y/N)');
readln(exit_)
end;
until (choice=3) or ((exit_='Y') or (exit_='y'));
End.
pashqa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поправьте пожалуйста код batonza Общие вопросы C/C++ 3 03.10.2009 11:05
Поправьте код, пожалуйста! Blondy Общие вопросы C/C++ 10 14.09.2009 01:47
Поправьте код!!! Klim Bassenger Microsoft Office Excel 15 27.05.2009 15:24
Поправьте пожалуйста код... Rymond Помощь студентам 4 26.04.2009 19:41
Поправьте код! Klim Bassenger Microsoft Office Excel 1 10.04.2009 15:46