Показать сообщение отдельно
Старый 22.10.2020, 00:14   #2 (permalink)
Евгений
Member
 
Аватар для Евгений
 
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
По умолчанию

Pascal:

Код:
const cf:string='0123456789ABCDEF';
var m:array[1..8] of char;
    i,n,d,b:word;
    a:char;
    c:set of char;
    s,st:string;
begin
  c:=['+','-','*','/','%'];
  b:=15; d:=239; st:='';
  for i:=1 to 8 do Readln(m[i]);
  Writeln;
  for i:=1 to 8 do Write(m[i]:3);
  Writeln;
  for i:=1 to 8 do
   begin
    s:=''; n:=Ord(m[i]);
    while n>0 do
     begin
      s:=cf[n mod 8+1]+s;
      n:=n div 8;
     end;
    st:=st+'  '+s;
   end;
  Writeln(st);
  Writeln;
  for i:=1 to 8 do
   begin
     if m[i] in c
      then
       begin
        n:=Ord(m[i]) or b; m[i]:=Chr(n)
       end
      else
       begin
        n:=Ord(m[i]) and d; m[i]:=Chr(n)
       end;
   end;
  for i:=1 to 8 do Write(m[i]:3);
  Writeln;
  st:='';
  for i:=1 to 8 do
   begin
    s:=''; n:=Ord(m[i]);
    while n>0 do
     begin
      s:=cf[n mod 8+1]+s;
      n:=n div 8;
     end;
    st:=st+'  '+s;
   end;
  Writeln(st);
  Readln;
end.
Евгений вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070