Есть ответ 👍

Всех ! если вам не сложно, то хотел бы попросить . необходимо решить на яп pascal с использованием подпрограмм, если можно, то с комментариями переменных и некоторых функций. нужно сделать программу, в которой при case можно выбрать систему, из который будет совершаться перевод, а потом аналогично через case выбрать систему, в которую нужно перевести. системы счисления: 2, 8, 10 и 16. заранее .

250
285
Посмотреть ответы 2

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

Damirka1137
4,4(83 оценок)

// pascalabc.net 3.3, сборка 1625 от 17.01.2018// внимание! если программа не работает, обновите версию! function atodec(n: string; k: integer): integer; // перевод из системы по основанию k в десятичную begin   var s: ='0123456789abcdef';   result: =0;   var pa: =1;   for var i: =length(n) downto 1 do begin       result+=pa*(pos(n[i],s)-1);       pa*=k       end end; function dectoa(n,k: integer): string; // перевод из десятичной системы в систему по основанию k begin   result: ='';   while n> 0 do begin       var r: =n mod k;       if r< 10 then result: =r+result       else result: =chr(ord('a')+r-9)+result;       n: =n div k       end end; function atob(s: string; a,b: integer): string; // перевод из системы по основанию a в систему по основанию b begin   result: =dectoa(atodec(s,a),b) end;       begin   var n: =readlnstring('какое число перевести? ');   var (a,b): =readinteger2('исходное и результирующее основания: ');   writeln(n,'(',a,') = ',atob(n,a,b),'(',b,')'); end. пример какое число перевести? 2018 исходное и результирующее основания: 10 16 2018(10) = 7e2(16)

Uses crt; var a: array[1..99] of real; i,j,n: integer; max: real; begin write('введите n: '); readln(n); writeln('исходный массив: '); for i: =1 to n do begin a[i]: =random()+1)-99; write(a[i]: 5); end; writeln; max: =-5; for i: =1 to n do begin if abs(a[i])> max then begin max: =abs(a[i]); j: =i; end; end; writeln('максимальное по модулю число равно ',a[j]); end.

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