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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2009, 22:59   #1
Roll1n
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 30
По умолчанию Паскаль

Вычислить сумму бесконечного ряда для заданного Eps:
S=1+x/1!+x^2/2!+x^3/3!+...x^k/k!+...
с точностью до |a(с индексом i)-a(с индексом i-1)<=Eps
Код:
Program lab3;
uses crt;
Var fact: longint;
i:integer;
x,k:real;
function S(x,k:real):real;
begin
i:=i+1;
for i:=1 to 10 do
s:=1+exp(x*ln(i))/fact*(i)

.
вот мой набросок
Не знаю как правильно написать условие,и разрывы ... между суммой.
Помогите доделать
Roll1n вне форума Ответить с цитированием
Старый 02.10.2009, 23:58   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Думаю,что должно выглядеть так:
Код:
Program lab3;
uses crt;
Var eps,s,t,t1,x:real;
     n:integer;
     flag:boolean;
begin
writeln('Enter eps');
readln(eps);
writeln('Enter x');
readln(x);
s:=0;t:=1;n:=0;t1:=0;flag:=true;
while(flag) do 
  begin
  s:=s+t;
  n:=n+1;
  t1:=t*x/n;
  if (t1-t)<=eps then
     begin
        flag:=false;
     end
  else
     begin
       t:=t1;
     end;
  end;
writeln('Summa = ',s:8:5);
writeln('Vuchislena na ',n,' wage');
end.
Думаю должно выглядеть как-то так,t1:=t*x/n-это то,что отличает член i-1 от i,высчитал разделив x(i) на x(i-1)...Алгоритм простой,единственное,что могут быть мелкие ошибки,ибо писал прямо в поле Быстрый ответ без проверки и компиляции.
Не давай организму поблажки, каждый день тренируй его в шашки..

Последний раз редактировалось Скарам; 03.10.2009 в 12:12.
Скарам вне форума Ответить с цитированием
Старый 03.10.2009, 22:52   #3
Roll1n
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 30
По умолчанию

S=1+x/1!+x^2/2!+x^3/3!+...x^k/k!+...
а эту формулу куда ты дел в своем коде?)
Roll1n вне форума Ответить с цитированием
Старый 03.10.2009, 23:16   #4
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Код:
 s:=s+t;
 n:=n+1;
 t1:=t*x/n;
вот...сначала 1,на следующем шаге цикла s=1+x/1!,на следующем s=1+x/1!+x^2/2!+x^3/3! и тд. Следующий член ряда получается из предыдущего,я же писал
Цитата:
t1:=t*x/n-это то,что отличает член i-1 от i,высчитал разделив x(i) на x(i-1)
Ты же не знаешь изначально сколько шагов потребуется,поэтому он посчитал в первый проход цикла первый и второй член последовательно,вычел,сравнил с точностью,если она(точность)не достигнута,то пошёл на следующий шаг,высчитал 3 член последовательности(второй уже сохранился в t) и тд. Ну и суммируется всё на каждом шаге...Ты что думаешь,что твоя программа должна сама за тебя решит сколько проходов цикла сделать?..А формулу в явном виде ввести можно только для известного количества шагов,тем более это количество всегда будет постоянным.
Не давай организму поблажки, каждый день тренируй его в шашки..

Последний раз редактировалось Скарам; 03.10.2009 в 23:18.
Скарам вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23
паскаль Александр ето я Паскаль, Turbo Pascal, PascalABC.NET 0 26.05.2009 17:43
Паскаль Psayker Помощь студентам 13 16.05.2009 19:02
Паскаль Jondeer Помощь студентам 8 29.10.2007 19:38