Ответы на вопрос:
Pascalabc.net 3.3.5, сборка 1644 от 23.03.2018 внимание! если программа не работает, обновите версию! function dectoa(n: string; k: integer): string; // перевод из десятичной системы в систему по основанию k begin var s: ='0123456789abcdefghijklmnopqrstuvwxyz'; result: =''; var pointpos: =pos('.',n); var intpart: integer; if pointpos> 0 then begin // есть дробная часть var fracpart: =frac(n.toreal); var m: =0; while true do begin var r: =fracpart*k; result+=s[trunc(r)+1]; fracpart: =frac(r); m+=1; if (m=15) or (fracpart=0) then break end; intpart: =n[: pointpos].tointeger; end else intpart: =n.tointeger; if result< > '' then result: ='.'+result; while intpart> 0 do begin result: =s[intpart mod k+1]+result; intpart: =intpart div k end; if result='' then result: ='0'; if result[1]='.' then result: ='0'+result end; begin var n: =readlnstring('какое число перевести? '); var p: real; if not real.tryparse(n,p) then writeln('такая запись недопустима') else if n.contains('e') or n.contains('e') then writeln('запись в экспоненциальном формате не разрешена') else begin var k: =readinteger('укажите основание системы: '); if k.between(2,36) then writeln(n,'(10) = ',n[1],dectoa(n[2: ],k),'(',k,')') else writeln('допустимы основания 2..36') end end. примеры какое число перевести? 123,5433 такая запись недопустима какое число перевести? -353.093234 укажите основание системы: 21 -353.093234(10) = -gh.1k2951b0djah1bi(21) какое число перевести? 6523 укажите основание системы: 8 6523(10) = 61013(8) какое число перевести? 1.2e-18 запись в экспоненциальном формате не разрешена
Популярно: Информатика
-
muratowaasya18.04.2023 07:18
-
Søphia04.03.2021 15:20
-
DashuliaKopaeva12.02.2023 08:51
-
valaegorova3427.12.2022 09:04
-
alaaaaaaa04.05.2021 13:44
-
laurenR30.06.2022 21:23
-
kdhsjs02.11.2020 20:23
-
KARYCY79822.04.2020 04:28
-
monika25817.01.2023 23:59
-
Сл206412.02.2023 08:41