спасибо большое, но нужен другой способ, без double и точности
volvo
28.01.2009 3:13
Ну, Double-то можно заменить на Real, это не проблема... А вот без точности - это интересно... Когда ж вычисления останавливать?
Riabukhin
28.01.2009 3:46
количество членов (до 20) и Х вводится с клавиатуры. про точность препод не говорил(
Добавлено через 6 мин. и ещё вопрос:
s := next; n := 0; repeat inc(n); next := (next * x) / n; s := s + next; until (next < eps); exp := s
здесь в знаменателе должен же быть факториал? или я совсем не рублю в паскале
volvo
28.01.2009 4:06
Цитата
или я совсем не рублю в паскале
Скорее - в математике. Что будет, если я (вместо того, чтобы на каждом шаге вычислять факториал, и ДЕЛИТЬ на него нечто) буду на каждом шаге ДЕЛИТЬ это самое нечто на меняющийся N? Это не равносильно? Заметь, вопроса о том, что в числителе должно быть Xn у тебя не возникло, потому что ты видишь, что происходит ДОмножение на X. Чем же деление на 1, 2, 3, 4 на соответствующей итерации хуже?
Выпиши себе первые несколько итераций на лист бумаги, и посмотри, что там делается, на что next умножается, и на что делится...
Цитата
количество членов (до 20) и Х вводится с клавиатуры
Ну, так это надо было говорить сразу, чего ж ты молчишь? Тогда еще проще: ввел K, и делаешь простой цикл:
next := 1; s := next;
for n := 1to K dobegin
next := (next * x) / n;
s := s + next;
end;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.