Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите найти ошибку в Коде. (https://javascript.ru/forum/misc/73733-pomogite-najjti-oshibku-v-kode.html)

useronb9788 10.05.2018 21:29

Помогите найти ошибку в Коде.
 
Даны действительные числа a[0],..., a[6]. Получить для x = 1, 2, 3, 4 значения p(x+1)–p(x), где:
p(y) = a[1]*y^6 + a[2]*y^5 + a[3]*y^4 + a[4]*y^3 + ... + a[0].
Вот что у меня получилось:
<script>
var a = new Array ();
var i;
function cha() {
str="M=</br>";
for (i = 0; i <=6; i++)
{
a[i] = Math.round(-50 + Math.random() * 100);
str=str+a[i]+" ";
}
document.getElementById("mas").innerHTML=str;

}
function ch1()
{ var y,q,c,d,b;
var str="F(y)=";
for( y=1;y<=4;y++)
{
for ( q=6;q>=0;q--)
{ c=Math.pow(y+1,q); //возводим в степень q
d=Math.pow(y,q);
b=a[i+1]*c-a[i+1]*d;
}
str=str+b+" ";
}
document.getElementById("output").innerHTML=str+"</br>";
}
</script>
</head>
<body style="padding:20px;" onload="cha();">
<p id="mas"></p>
<p id="output"></p>
<p><input type="button" value="Решение" onclick="ch1();" /></p>
</body>
Помогите найти ошибку. вместо результата выдает NaN.

рони 10.05.2018 22:26

useronb9788,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 10.05.2018 22:47

useronb9788,
:write: b не инициализируется, не накапливает результат, вычисляется неверно.

Dilettante_Pro 11.05.2018 10:19

b=a[i+1]*c-a[i+1]*d;

Чему равно i?

рони 11.05.2018 10:31

Dilettante_Pro,
всё просто i + 1 = q следовательно i = q - 1 :lol:

Dilettante_Pro 11.05.2018 10:42

рони,
Ответ правильный, только программа об этом не знает

рони 11.05.2018 10:47

Dilettante_Pro,
Цитата:

Сообщение от рони
b не инициализируется, не накапливает результат, вычисляется неверно.


рони 11.05.2018 10:49

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
 <script>
var a = new Array;
var i;

function cha() {
    str = "M = ";
    for (i = 0; i <= 6; i++) {
        a[i] = Math.round(-50 + Math.random() * 100);
        str += a[i] + " "
    }
    document.getElementById("mas").innerHTML = str + "</br>"
}

function ch1() {
    var y, q, c, d, b;
    var str = "F(y) = ";
    for (y = 1; y <= 4; y++) {
        b = 0;
        for (q = 6; q >= 0; q--) {
            c = Math.pow(y + 1, q);
            d = Math.pow(y, q);
            b += a[q] * (c - d)
        }
        str += b + " "
    }
    document.getElementById("output").innerHTML = str + "</br>"
};
 </script>
 </head>
 <body style="padding:20px;" onload="cha();">
 <p id="mas"></p>
 <p id="output"></p>
 <p><input type="button" value="Решение" onclick="ch1();" /></p>
 </body>
</html>


Часовой пояс GMT +3, время: 03:33.