"Длинная" арифметика
Категория реферата: Рефераты по информатике, программированию
Теги реферата: класс, сочинение 6 класс
Добавил(а) на сайт: Маклаков.
Предыдущая страница реферата | 11 12 13 14 15 16 17 18 19 20 21 | Следующая страница реферата
Рефераты | Рефераты по информатике, программированию | "Длинная" арифметика |
C > Ost |
||
78 |
79 |
27612 |
C < Ost |
Целая часть частного равна 78, остаток от деления — 27856 минус 27612, т.е. 244.
Пора приводить процедуру. Используемые "кирпичики": функция сравнения чисел (More) с учетом сдвига и функция умножения длинного числа на короткое (Mul) описаны выше.
Function FindBin(Var Ost : Tlong; Const В : TLong; Const sp : Integer) : Longint;
Var Down, Up : Word; C : TLong;
Begin
Down := 0;Up := 0sn;
{основание системы счисления}
While Up - l > Down Do
Begin
{Есть возможность преподавателю сделать
сознательную ошибку. Изменить условие
цикла на Up>Down. Результат - зацикливание программы.}
Mul(В, (Up + Down) Div 2, С);
Case More(Ost, C, sp) Of
0: Down := (Down + Up) Div 2;
1: Up := (Up + Down) Div 2;
2: Begin Up := (Up + Down) Div 2; Down := Up End;
End;
End;
Mul(B, (Up + Down) Div 2, C);