вительное число и обратно.
Программа вычисления значения цепной дроби
Программа просит пользователя ввести числитель дроби и количество вложений цепной дроби. Преобразовывает ее в число и выдает результат в виде десятичной дроби.
Program TONUMBER;
var n, k: integer;
b:real;
begin
write ( введите знаменатель дроби); read (b);
write ( введите кол-во вложений ); read (n);
for k:1 to n do b:11/b;
write ( искомое число , b); end.
Результаты работы программы
Цепная дробь преобразована в десятичную. Ошибок не наблюдается.
Вывод.
Программа работает корректно.
- Результат представлен в виде десятичной дроби. В случае ее бесконечности компьютер округляет результат.
Программа, выполняющая разложение числа в цепную дробь
Программа просит пользователя ввести число в виде десятичной дроби. Преобразовав его, выдает результат вида 1, 7, 16
Program TOFRACTION;
var a: array1. . 100 of integer;
k, n: integer;
x:real;
begin
write ( введите число ); read (x);
k:1; a1:trunc(x); k:2;
while frac(x)0 do
begin
x:1/frac(x) ;
ak:trunc(x) ;
k:k1;
end;
n:k;
write ( искомое число x );
for k:1 to n do write (ak,,);
write (); end.
Результаты работы программы
1. 8 1,1,4,0,
1. 6 1,1,1,1,1,0,0,
1. 65 1,1,1,1,5,1,75350303,2,3,1,1,0,0,
7. 3 ошибка 101 – выход за пределы размерности массива
2. 5 2,2,0,
4. 75 4,1,3,0,0,
Описание ошибок
В большинстве случаев из-за округления бесконечных периодических десятичных дробей происходит накопление погрешности. При ручном счете эти дроби записываются в виде обыкновенных и ошибки не происходит.
В некоторых случаях зафиксирована некорректная работа функции trunk(). Данная ф
Страницы: << < 1 | 2 | 3 | 4 | 5 > >>