Цепные дроби: скрытая красота

Страницы: <<  <  2 | 3 | 4 | 5  >  >>

ункция отсекает дробную часть действительного числа.
В некоторых случаях зафиксирована некорректная работа функции frac(). Данная функция вычисляет дробную часть действительного числа. Для целых чисел результат её работы должен быть равен 0, но происходит ошибка.
Цепные дроби и программирование
Принцип цепной дроби созвучен понятию рекурсии в программировании.
Рекурсивным называется способ построения объекта (понятия, системы, описание действия), в котором определение объекта включает аналогичные объекты (понятие, систему, действие) в виде составных частей.
Примеры рекурсии можно встретить в литературе, искусстве, фольклоре.
«У попа была собака, он ее любил.
Она съела кусок мяса, он ее убил.
Камнем придавил, и на камне написал:
«У попа была собака. . . »» (Детская считалка)
«Я оглянулся посмотреть, не оглянулась ли она,
чтоб посмотреть, не оглянулся ли я. . . »
(Максим Леонидов, «Девочка-видение», песня).
Обычно, в программировании под рекурсией понимают такую реализацию, в которой подпрограмма использует в своем теле вызов самой себя.
Написанные мной программы использовали циклический алгоритм.
Исправим программу, используя рекурсивный вызов функции num(a,m), которая вычисляет значение одного вложения цепной дроби. Благодаря рекурсивности мы поднимаемся до первого вложения цепной дроби и получаем ответ.
Program TONUMBER;
var n, k: integer;
b:real;
function num(a:real; m:integer):real;
begin
if m1 then num:11/a
else num:11/num(a,m-1);
end;
begin
write (введите знаменатель цепной дроби ); read (b);
write ( введите кол-во вложений цепной дроби );
read (n);
b:num(b,n);
write ( искомое число , b); end.
Использование цепных дробей в други

Страницы: <<  <  2 | 3 | 4 | 5  >  >>
Рейтинг
Оцени!
Поделись конспектом: