Алгоритм перевода чисел из одной системы счисления в другую наиболее прост в том случае, когда одно из оснований этих систем является степенью другой, как, например, в случае двоичной и восьмеричной систем счисления. в таком случае алгоритм перевода состоит в простой замене чисел одной системы на равные им числа другой системы счисления (в случае положительных чисел). на начальном этапе удобно и полезно воспользоваться таблицей соответствия, в приложении. пусть требуется перевести восьмеричное число 24738 в двоичное число. воспользовавшись таблицей соответствия из приложения, получим: 24738 = 101001110112, поскольку 28 = 0102, 48 = 1002, 78 = следует помнить, что восьмеричное число кодируется тремя битами, и выписывать триады нужно полностью. исключением из этого правила может служить только старшая триада, в которой старший бит (сб) равен нулю. сложнее обстоит дело при переводе чисел из восьмеричной системы в шестнадцатеричную. обычно вначале переводят восьмеричное число в двоичное, а затем уже в шестнадцатеричное по алгоритму, описанному в разделе перевод чисел из двоичной системы в восьмеричную и шестнадцатеричную. для рассмотренного выше примера имеем: 24738 = 101001110112 = 0101 0011 10112 = 53b16
Negutsa_Kseniya524
14.09.2022
Как-то даже не хочется размышлять, как можно было это решить по- var s: string; a: array[1..4] of byte; i: integer; begin read(s); for i: =1 to length(s) do begin if s[i]='(' then a[1]: =i; if (s[i]=' ') and (a[1]> 0) then begin a[2]: =i; break end end; for i: =length(s) downto 1 do begin if s[i]=')' then a[4]: =i; if (s[i]=' ') and (a[4]> 0) then begin a[3]: =i; break end end; s: =copy(s,1,a[1])+copy(s,a[3]+1,a[4]-a[3]-1)+copy(s,a[2],a[3]-a[2]+1)+copy(s,a[1]+1,a[2]-a[1]-1)+copy(s,a[4],length(s)-a[4]+1); write(s); end.