Добрый день! Первое предложение традиционно - я в JS новичёк
!
Сейчас пишу скрипт, вычисляющий сумму ряда. Присутствует в знаменателе выражения и двойной факториал. В общем несколько раз проверял - и числитель и знаменатель на каждом шаге цикла считаются правильно. Частное также подсчитывается правильно на каждом шаге. А вот сумма ряда (sum) уже на втором шаге - ошибочна. Долго искал в чём дело. Оказывается, при прибавлении на очередном шаге текущего элемента суммы ряда - складываются модули значений, не учитывая, что какое-то было отрицательным, а какое-то положительным, а потом уже присваивается знак последнего элемента ряда.
Простите, написал сложно. Но скрипт и код не сложные, посмотрите.
Подскажите, можно ли проблему победить???!!! Заранее благодарен за советы!!!
PS. Сейчас проверяю - ещё где-то ошибка есть, неправильно считает(((((
<HTML> <HEAD>
<TITLE> Сумма ряда </TITLE>
<script type="text/javascript">
function summa()
{
var x = document.test.x.value;
var w = document.test.w.value;
var sum = 0;
for (z=1; z<=w; z++){
var n=z+2;
var factorial = function(n) {
return (n<=1) ? 1 : n*arguments.callee(n-2);
}
var s= (Math.pow(-1,(z-(-1)))*(Math.pow(x, 2*z-(-3)))) / factorial(n);
sum+=s;
jndtn = sum
}
document.test.answer.value = jndtn;
}
</script>
<BODY>
<H2 align="left">
</H2> <left>
<H2>Cумма ряда</H2>
<h4>Задание:</h4><BR>
<P> Вычислить сумму ряда<BR><BR>
<FONT>
<img src="Сумма ряда.JPG"</FONT><hr>
</P>
</left> <br>
<form action="" name="test">
Введите значение переменной k:<input type="text" id="w" name="w" value="" /><br><br>
Введите значение коэффициента x:<input type="text" id="x" name="x" value="" /><br><br>
<input type="button" onclick="summa()" value="Ответ" /><br><br>
Сумма=<input type="text" id="answer" name="answer" value="" />
</form>
</BODY>
</HTML>