Консультация № 176035
14.01.2010, 16:31
0.00 руб.
0 4 1
Здравствуйте уважаемые эксперты! Прошу помощи в решении задачи: Вычислить значение числа e(основание натурального логарифма) с заданной точностью Т=10 в степени -К
,где К может принимать значения 1,2,3,…
е=1+(1/1!)+(1/2!)+(1/3!)+…+(1/М!)
процесс накопления суммы прекратиться когда 1/м<T.
зарание спасибо!

Обсуждение

Неизвестный
14.01.2010, 16:44
общий
По-моему, были такие вопросы и ранее. Посмотрите архив. Или задайте вопрос как ПЛАТНЫЙ
Неизвестный
14.01.2010, 17:44
общий
это ответ
Здравствуйте, bagrov.

Все ряды с заданной точностью вычисляются по одной и той же схеме: инициализируются переменные для суммы ряда, очередного члена ряда и организуется цикл (while или repeat...until) до тех пор, пока очередной член не станет меньше требуемой точности.
Программа в приложении.

Успехов!

Приложение:
program _176035;
var
e, eps, t: extended;
i, k : integer;

begin
write( 'Вычисление числа e с заданной точностью 10^(-k)'#13#10'Введите k: ' );
readln( k );
eps := exp( -k*ln(10.0) );
e := 1.0;
t := 1.0; { очередной член ряда}
i := 1;
while t > eps do begin
t := t/i;
e := e + t;
inc( i );
end;
WriteLn( 'Значение е с точностью 10^(-', k, ') = ', e:(k+3):k );
WriteLn( 'Число шагов = ', i-1 );
end.
Неизвестный
14.01.2010, 17:46
общий
да чего тут платного-то, в таком тривиальном вопросе?! хотя подобных вопросов в архиве должно быть навалом.
Неизвестный
14.01.2010, 21:09
общий
amnick:
В том-то и дело: лень искать - плати!
Форма ответа