Natysik Posted December 27, 2009 Report Share Posted December 27, 2009 нужно срочно написать цикл c предусловием!!!! s=1-x^2/(2!)+...+(-1^n)*x^(2n)/((2n)!) Quote Link to comment Share on other sites More sharing options...
Тролль Posted December 27, 2009 Report Share Posted December 27, 2009 (edited) 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; Edited December 27, 2009 by Тролль Quote Link to comment Share on other sites More sharing options...
Natysik Posted December 27, 2009 Author Report Share Posted December 27, 2009 так а х не в квадрате, а в 2*n подходит запись exp(2*n*ln(x))? Quote Link to comment Share on other sites More sharing options...
Тролль Posted December 27, 2009 Report Share Posted December 27, 2009 Если вычислять "в лоб", то подходит. Я вычисляю каждый новый член ряда по предыдущему, при этом достаточно просто предыдущий умножить на -x² (ну и скорректировать факториал, на который делится). Quote Link to comment Share on other sites More sharing options...
Natysik Posted December 27, 2009 Author Report Share Posted December 27, 2009 ясно) а если не в "лоб", т е писать как меняется K, x и -1 а то боюсь, у нас так не прокатит а можно всё оставить так же, только факториал, на который делится записать просто как К, а потом написать, что К:=2К? нельзя, уже саме себе на вопрос ответила) Quote Link to comment Share on other sites More sharing options...
Тролль Posted December 27, 2009 Report Share Posted December 27, 2009 (edited) Можно отдельно вычислять знак ( (-1)^n ) для каждого члена ряда, заново вычислять через логарифм и экспоненту x в степени 2n для каждого члена ряда, вычислять дополнительным циклом каждый раз заново факториал от 2n для каждого члена ряда... Только все это будет писаться сложнее и намного дольше вычисляться. А так мы гораздо лучше используем то, что уже сделано. Edited December 27, 2009 by Тролль Quote Link to comment Share on other sites More sharing options...
Natysik Posted December 27, 2009 Author Report Share Posted December 27, 2009 ну ладно, а как тогда факториал записывать? (2*k)*(2*k-1) не подходит Quote Link to comment Share on other sites More sharing options...
Тролль Posted December 27, 2009 Report Share Posted December 27, 2009 (edited) Факториал от 2k, если не вычислять домножением предыдущего на (k-1)*k - только отдельным циклом внутри основного цикла: f:=1; m:=1; while m<=2*k do begin f:=f*m; inc(m) end; :) Прямой формулы, дающей значение факториала, не существует (хотя имеются приближенные формулы для больших значений факториала). Ряды практически никогда не вычисляют "в лоб", прямым вычислением "с нуля" очередного члена ряда. Всегда стараются использовать предыдущие члены ряда для вычисления нового. Edited December 27, 2009 by Тролль Quote Link to comment Share on other sites More sharing options...
Natysik Posted December 27, 2009 Author Report Share Posted December 27, 2009 пасибо) надеюсь сдам))) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.