Есть ответ 👍

Цикл while, python информатика

101
116
Посмотреть ответы 1

Ответы на вопрос:


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 запись в экспоненциальном формате не разрешена

Популярно: Информатика