Реферат: Програмування рекурентні послідовності та співвідношення
Отже, при n>1, a1=x. Запишемо одержані рекурентні співвідношення в систему:
Побудуємо за нею алгоритм обчислення. Оскільки порядок обох співвідношень 1, достатньо двох змінних, S і A,
для збереження членів послідовностей. Спочатку A:=x; S:=0. Далі перед кожним обчисленням S:=S+A треба
спочатку перевірити, що A>d. Після додавання A до S обчислюється новий доданок (значення A), і все
повторюється. Таким чином, цикл складений діями в такому порядку:
перевірка умови A>d,
додавання S:=S+A,
обчислення нового значення A.
Нехай змінна I зберігає номер останнього обчисленого доданка; спочатку I=1. Оскільки при обчисленні нового
доданка використовується його номер, то цей номер треба попередньо збільшити. Тепер алгоритм очевидний:
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 .