Помощь - Поиск - Пользователи - Календарь
Полная версия: разложение экспоненты
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Riabukhin
парни, выручайте. срочно нужна программа разложения экспоненты в ряд Тейлора на паскале.
заранее благодарен
Riabukhin
спасибо большое, но нужен другой способ, без double и точности
volvo
Ну, Double-то можно заменить на Real, это не проблема... А вот без точности - это интересно... Когда ж вычисления останавливать?
Riabukhin
количество членов (до 20) и Х вводится с клавиатуры. про точность препод не говорил(

Добавлено через 6 мин.
и ещё вопрос:

s := next; n := 0;
repeat
inc(n);
next := (next * x) / n;
s := s + next;
until (next < eps);
exp := s

здесь в знаменателе должен же быть факториал? или я совсем не рублю в паскале smile.gif
volvo
Цитата
или я совсем не рублю в паскале
Скорее - в математике. Что будет, если я (вместо того, чтобы на каждом шаге вычислять факториал, и ДЕЛИТЬ на него нечто) буду на каждом шаге ДЕЛИТЬ это самое нечто на меняющийся N? Это не равносильно? Заметь, вопроса о том, что в числителе должно быть Xn у тебя не возникло, потому что ты видишь, что происходит ДОмножение на X. Чем же деление на 1, 2, 3, 4 на соответствующей итерации хуже?

Выпиши себе первые несколько итераций на лист бумаги, и посмотри, что там делается, на что next умножается, и на что делится...

Цитата
количество членов (до 20) и Х вводится с клавиатуры
Ну, так это надо было говорить сразу, чего ж ты молчишь? Тогда еще проще: ввел K, и делаешь простой цикл:
	next := 1; s := next;
for n := 1 to K do begin
next := (next * x) / n;
s := s + next;
end;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.