Програмування: рекурентні послідовності та співвідношення, Детальна інформація
Програмування: рекурентні послідовності та співвідношення
an-1. Для цього у виразі для an побудуємо вираз, яким задається an-1:
=
= .
Отже, при 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,
=
= .
Отже, при 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,
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021