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);
Рекомендуем скачать другие рефераты по теме: информационные рефераты, скачать контрольную.
Предыдущая страница реферата |
11
12
13
14
15
16
17
18
19
20
21 |
Следующая страница реферата