// PascalABC.NET 3.2, сборка 1325 от 19.10.2016
function BinToOct(s:string):string;
// переводит двоичную триаду в восьмеричную цифру
begin
case s of
'000':Result:='0';
'001':Result:='1';
'010':Result:='2';
'011':Result:='3';
'100':Result:='4';
'101':Result:='5';
'110':Result:='6';
'111':Result:='7';
end
end;
begin
var s2:=ReadlnString('Введите целое двочное число');
var k:=s2.Length mod 3;
if k<>0 then s2:=(3-k)*'0'+s2; // дополнить до кратной 3 длины
var s8:='';
for var i:=1 to s2.Length div 3 do
s8:=s8+BinToOct(Copy(s2,3*i-2,3));
Writeln(s8);
end.
Пример
Введите целое двочное число 10101100001
2541