Var y, x: integer;
begin
readln(y);
x:=y-2;
writeln(y, '= ', x, '+2');
end.
Так как-то
begin
var s := ReadlnString('Введите строку:');
for var i := 1 to s.Length do
case s[i] of
'.': s[i] := '0';
'X', 'Х': s[i] := '1'
end;
Println('Двоичный код:', s);
end.
===== PascalABC.NET =====
Очень просто решается. Пишешь число. Если оно чётное - то в двоичное представление идёт нолик, если нечётное - то единица.
Делишь это число пополам, пишешь его в следующую строку. И снова, чёт-нечет, 0-1
73 - 1 - это самый младший разряд, справа пишем его
36 - 0
18 - 0
9 - 1
4 - 0
2 - 0
1 - 1 - это старший разряд, слева
ответ - 1001001
Program test;
var number: integer;
begin
write('Enter the number: ');
readln(number);
number:=abs(number)-2;
writeln(number);
readln;
end.