sample039.PAS

{* Моделирование вычитания двоичных чисел *}

Unit SAMPLE039;
Interface
Implementation
Begin
 writeln('Моделирование вычитания двоичных чисел');
End.

Program pas;

Uses sample039.pas; {* Эту строку можно удалить *}
{ арифметические алгоритмы: моделирование вычитания двоичных чисел         }
{ ------------------------------------------------------------------------ }
Var {* Объявление переменных *}
  sr                 : String;
  sf                 : String;
  ss                 : String{ вычитание двоичных строк, первое число должно быть >= второго }
Function BinSub(s1 : String);
s2                 : String);
Var {* Необходимые переменные *}
  s : String;
  l : byte;
  i : byte;
  j : byte;
Begin
  If length(s1) > length(s2) Then
    While length(s2)1) And (s[1] = '0'Do
      delete(s, 1, 1);
  BinSub := s;
End;
Begin
  writeln('введите 1 - е двоичное число:');
  readln(sf);
  writeln('введите 2 - е двоичное число:');
  readln(ss);
  sr := BinSub(sf, ss);
  writeln('результат вычитания = ', sr);
End.