For27. Дано вещественное число X (|X|<1) и целое число N (>0). Найти значение выражения X+1∗X3/(2∗3)+1∗3∗X5/(2∗4∗5)+…+1∗3∗…∗(2∗N−1)∗X2∗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