Natysik Опубликовано 27 декабря, 2009 Жалоба Поделиться Опубликовано 27 декабря, 2009 нужно срочно написать цикл c предусловием!!!! s=1-x^2/(2!)+...+(-1^n)*x^(2n)/((2n)!) Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 27 декабря, 2009 Жалоба Поделиться Опубликовано 27 декабря, 2009 (изменено) s:=1;k:=1;p:=1;while k<=n do begin p:=-p*sqr(x)/((2*k)*(2*k-1));s:=s+p;inc(k) end; Изменено 27 декабря, 2009 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Natysik Опубликовано 27 декабря, 2009 Автор Жалоба Поделиться Опубликовано 27 декабря, 2009 так а х не в квадрате, а в 2*n подходит запись exp(2*n*ln(x))? Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 27 декабря, 2009 Жалоба Поделиться Опубликовано 27 декабря, 2009 Если вычислять "в лоб", то подходит. Я вычисляю каждый новый член ряда по предыдущему, при этом достаточно просто предыдущий умножить на -x² (ну и скорректировать факториал, на который делится). Ссылка на комментарий Поделиться на другие сайты Поделиться
Natysik Опубликовано 27 декабря, 2009 Автор Жалоба Поделиться Опубликовано 27 декабря, 2009 ясно) а если не в "лоб", т е писать как меняется K, x и -1 а то боюсь, у нас так не прокатит а можно всё оставить так же, только факториал, на который делится записать просто как К, а потом написать, что К:=2К? нельзя, уже саме себе на вопрос ответила) Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 27 декабря, 2009 Жалоба Поделиться Опубликовано 27 декабря, 2009 (изменено) Можно отдельно вычислять знак ( (-1)^n ) для каждого члена ряда, заново вычислять через логарифм и экспоненту x в степени 2n для каждого члена ряда, вычислять дополнительным циклом каждый раз заново факториал от 2n для каждого члена ряда... Только все это будет писаться сложнее и намного дольше вычисляться. А так мы гораздо лучше используем то, что уже сделано. Изменено 27 декабря, 2009 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Natysik Опубликовано 27 декабря, 2009 Автор Жалоба Поделиться Опубликовано 27 декабря, 2009 ну ладно, а как тогда факториал записывать? (2*k)*(2*k-1) не подходит Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 27 декабря, 2009 Жалоба Поделиться Опубликовано 27 декабря, 2009 (изменено) Факториал от 2k, если не вычислять домножением предыдущего на (k-1)*k - только отдельным циклом внутри основного цикла: f:=1; m:=1; while m<=2*k do begin f:=f*m; inc(m) end; :) Прямой формулы, дающей значение факториала, не существует (хотя имеются приближенные формулы для больших значений факториала). Ряды практически никогда не вычисляют "в лоб", прямым вычислением "с нуля" очередного члена ряда. Всегда стараются использовать предыдущие члены ряда для вычисления нового. Изменено 27 декабря, 2009 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Natysik Опубликовано 27 декабря, 2009 Автор Жалоба Поделиться Опубликовано 27 декабря, 2009 пасибо) надеюсь сдам))) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти