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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2012, 19:24   #1
Erkesh
Пользователь
 
Регистрация: 30.09.2012
Сообщений: 26
По умолчанию задача на цикл for

нужно вычислить сумму 1-1/3+1/5-1/7+1/9-... и сравнить результат с П/4;
Erkesh вне форума Ответить с цитированием
Старый 14.10.2012, 19:33   #2
Artiomtb
Пользователь
 
Регистрация: 17.11.2011
Сообщений: 10
По умолчанию

это бесконечный цикл, тут только через геометрическую прогрессию считать. For применим разве что задать какое то минимальное 1/n.
Тогда так будет:
for(i=1;i<=n;i+=2)
{
s+=1/i;
}
То есть, при n=20 s=1+1/3+1/5+1/7+1/9+1/11+1/13+1/15+1/17+1/19;

Последний раз редактировалось Artiomtb; 14.10.2012 в 19:36.
Artiomtb вне форума Ответить с цитированием
Старый 14.10.2012, 19:50   #3
Erkesh
Пользователь
 
Регистрация: 30.09.2012
Сообщений: 26
По умолчанию

здесь идет последовательность + -
Erkesh вне форума Ответить с цитированием
Старый 14.10.2012, 19:58   #4
gaw4
Форумчанин
 
Регистрация: 31.05.2010
Сообщений: 407
По умолчанию

задача решаема, если указать либо количестство слагаемых (как сказал Artiomtb), либо точность вычислений
icq 584 308 611
gaw4 вне форума Ответить с цитированием
Старый 14.10.2012, 20:04   #5
Erkesh
Пользователь
 
Регистрация: 30.09.2012
Сообщений: 26
По умолчанию

for(int i=1; i<=n; i+=2)
{
s=s+pow((-1),i+1)*(1/i);
}
но у меня не правильно высчитывает какое бы число не вводила бы результат 1
Erkesh вне форума Ответить с цитированием
Старый 14.10.2012, 20:09   #6
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Код:
s=s+pow((-1),i+1)*(1/(i * 1.0 ));
к тому же s должно быть вещественного типа данных... double
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 14.10.2012, 20:20   #7
gaw4
Форумчанин
 
Регистрация: 31.05.2010
Сообщений: 407
По умолчанию

если поможет
Код:
Program p1;

Var  S,eps,t,p4 :real;
     i,n,k:integer;

Begin
cls;
p4:=pi/4;
Writeln('Pi/4=',p4);
  n:=20;//Writeln('n');read (n);
  k:=1;i:=1;S:=0;
    while i<n do
    begin
        S:=S+k/i;
        i:=i+2;
        k:=-k;
    end;
Writeln('S(',n,')=',S,'   dS=',abs(S-p4));

eps:=0.0001;//  Writeln('eps');read (eps);
  k:=1;i:=1;S:=0;
    repeat
    t:=k/i;
        S:=S+t;
        i:=i+2;
        k:=-k;
    until abs(t)<eps;
Writeln('S(',eps,')=',S,'   dS=',abs(S-p4));

  readln;
end.
icq 584 308 611
gaw4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл задача aUxbl4 Помощь студентам 1 04.03.2012 11:20
задача на цикл настя))))) Помощь студентам 5 27.12.2011 20:40
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34