помогите исправить задачу:задача: перевод из 10 в 16сс и обратноprogram B4;type massiv=array [1..8] of integer;vark,m:integer; n1:real;b1,c1,d2,d1:massiv;procedure p1016(m:integer;var b1:massiv);var a: array[1..8] of 0..1;N,i: integer;beginfor i:=1 to 8 do a[i]:=0;i:=0;if m>0 then N:=m else N:=-m;while N>0 dobegini:=i+1;a[i]:=N mod 16; {OCTATOK OT DELENIJ}N:=N div 16; {CHASTNOE}end;for i:=0 to 7 dob1[i+1]:=a[8-i];if m<0 then b1[1]:=1 else b1[1]:=0; {b[1]-SHAK CHISLA}end;procedure p1610(b1:massiv;var n1:real);var i:integer; n,s : real;var mas : array[1..8] of integer; a:array[1..8] of real;beginif b1[8]=1 then s:=1 else s:=b1[8];for i:=1 to 7 do mas[i]:=b1[i];for i:=1 to 6 do begin n:=exp(i*ln(16));s:=s+mas[8-i]*(n); END;if b1[1]=1 then s:=-s;n1:=s;end;beginwriteln('BBOD1');readln(m);p1016(m,c1);WRITELN;for k:=1 to 8 do WRITE(c1[k]);WRITELN;p1610(c1,n1);writeln('PEREVOD B 10S');writeln(n1); WRITELN;end.не переводит обратно в 16 сс и надо чтоб выводил ответы в буквах,10=А11=Ви т.д.