доданка використовується його номер, то цей номер треба попередньо збільшити. Тепер алгоритм очевидний:
S:=0; A:=x; I:=1;
while A>d do
begin
S:=S+A; I:=I+1;
A:=A*(-x*x)/((2*I-2)*(2*I-1));
end
{A<=d, і воно не додано до S; значення S – шукане}
Оформлення цього алгоритму у вигляді функції з параметром x і розумно підібраним значенням d залишається
вправою.?
Задачі
4.4.* Написати функцію обчислення кількості десяткових цифр натурального числа.
4.5.* Один із варіантів алгоритму Евкліда обчислення найбільшого спільного дільника чисел a і b (НСД(a,b)) грунтується на
обчисленні рекурентної послідовності {p}, де p1=max{a,b}, p2=min{a,b}, pn=pn-2 mod pn-1 при n>2. Шуканим є останнє ненульове
значення послідовності. Уточнити алгоритм Евкліда у вигляді функції.
4.6. Послідовність {xn}, задана співвідношеннями
x1=(a+m-1)/2,
xi=( (m-1)xi-1 + a/x)/m при i > 1,
сходиться до a1/m. Запрограмувати обчислення a1/m при довільному додатному дійсному a з точністю e , тобто за потрібне число
приймається перше xn таке, що | xn-xn-1 |<e .
4.7. Послідовність сум {sn}, де sn=1+x+x2/2!+…+xn/n!, за умови 0? x<1 "достатньо швидко" сходиться до ex. Запрограмувати
обчислення ex при x? [0;1) із точністю e , тобто за потрібне число приймається перше sn таке, що | sn-sn-1 |<e .
Запрограмувати обчислення ex при довільному x, застосовуючи "формули зведення" – рівності ex=e[x]e{x}, ex=1/e-x, де [x] і {x}
позначають цілу й дробову частини x. Обчислити e[x] шляхом множення сталої e=2.7182818 на себе [x] разів.
4.8. Послідовність сум {sn}, де sn=1-x2/2!+…+(-1)nx2n/(2n)!, за умови |x|? p /4 "достатньо швидко" сходиться до cos(x).
Запрограмувати обчислення cos(x) при x? [-p /4; p /4] з точністю e , тобто за потрібне число приймається перше sn таке, що |
sn-sn-1 |<e .
Запрограмувати обчислення cos(x) при довільному x, застосовуючи тригонометричні формули зведення.