For27. Дано вещественное число $$X$$ ($$|X| < 1$$) и целое число $$N$$ ($$> 0$$). Найти значение выражения $$X + 1*X^3/(2*3) + 1*3*X^5/(2*4*5) + … + 1*3*…*(2*N-1)*X^{2*N+1}/(2*4*…*(2*N)*(2*N+1))$$.
Полученное число является приближенным значением функции arcsin в точке $$X$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
program For27; var X,Rez,pow,TempRez1,TempRez2:Real; N, i :Integer; begin Write('Введите X: '); Readln(X); Write('Введите N: '); Readln(N); Rez:=X; pow:=X; TempRez1:=1; TempRez2:=1; For i:=1 to N-1 do begin TempRez1:=TempRez1*(2*i-1); TempRez2:=TempRez2*(2*i); pow:=pow*X*X; Rez:=Rez+TempRez1*Pow/(temprez2*(2*i+1)); end; Writeln(Rez); end. |
Другие задачи из раздела For можно посмотреть здесь.
а здесь почему цикл до n-1 ???
Да, тут до n нужно.
потому что он в начале к общей сумме уравнения (переменной Rez) прибавил Х. Можно в начальной переменной суммы написать 0, если добавить Х в конце ,там где Writeln. Тогда можно будет убрать -1 из цикла.
хотя я загнался, это ничего не меняет что в начале х прибавить что в конце это не имеет значения. просто каждая последующая итерация даёт очень маленький прирост и можно написать хоть n хоть n-1 все равно правильно будет 🙂
в общем да, правильно будет от 1 до n