Advertisement
Guest User

101

a guest
Dec 18th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.97 KB | None | 0 0
  1. var
  2.  cs1,cs2,res,change,pp,res2,oo:integer;
  3.  TD,cop1,cop2:string;
  4.  label 1,2;
  5. {функция перевода Dec числа в любую Систему Счисления}
  6. function FromDec(n,r:longint):string;
  7. var
  8.  s:String;
  9. const
  10.  digit:string[16]='0123456789ABCDEF';
  11. begin
  12.  s:='';
  13.  repeat
  14.  s:=digit[(n mod r)+1]+s;
  15.  n:=n div r;
  16.  until n=0;
  17.  FromDec:=s;
  18. end;
  19. {функция перевода любой Системы Счисления в Dec}
  20. function ToDec(n:string;r:longint):longint;
  21. var
  22.  m,i:longint;
  23. const
  24.  digit:string[16]='0123456789ABCDEF';
  25. begin
  26.  m:=0;
  27.  while n[1]='0' do
  28.  delete(n,1,1);
  29.  for i:=1 to length(n) do
  30.  m:=m*r+pos(n[i],digit)-1;
  31.  ToDec:=m;
  32. end;
  33. {основная часть программы}
  34. begin
  35.  writeln('Введите из какой Системы Счисления:');
  36.  repeat
  37.  readln(cs1);
  38.  until
  39.  (cs1>=2) and (cs1<=16);
  40.  writeln('Введите число в соответствии с Системой Счисления:');
  41.  readln(TD);
  42.  writeln('Введите в какую Систему Счисления:');
  43.  repeat
  44.  readln(cs2);
  45.  until
  46.  (cs2>=2) and (cs2<=16);
  47.  pp:=pos ('.',TD);
  48.  if (pp=0) then goto 1 else goto 2;
  49.  1:writeln('Перевод из ',cs1,' Cистемы Счисления —> в ',cs2,' Cистему Cчисления:');
  50.  writeln(FromDec(ToDec(TD,cs1),cs2));
  51.  2:begin
  52.  cop1:=Copy(td,pp+1,length(td)-1);
  53.  cop2:=Copy(td,1,pp-1);
  54.  oo:=length(cop1);
  55.  if (oo=2) then begin insert ('0',cop1,oo+1); end;
  56.  if (oo=5) then begin insert ('0',cop1,oo+1); end;
  57.  if (oo=8) then begin insert ('0',cop1,oo+1); end;
  58.  if (oo=1) then begin insert ('00',cop1,oo+1); end;
  59.  if (oo=4) then begin insert ('00',cop1,oo+1); end;
  60.  if (oo=7) then begin insert ('00',cop1,oo+1); end;
  61.  res:=ToDec(cop1,cs1);
  62.  res2:=ToDec(cop2,cs1);
  63.  writeln('Перевод из ',cs1,' Cистемы Счисления —> в ',cs2,' Cистему Cчисления:');
  64.  write(FromDec(res2,cs2),'.',FromDec(res,cs2));
  65.  end;
  66. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement