требуется написать прогу на паскале по переводу дробных чисел из 3с/с в 2с/с (выбран путь транзитом через 10с/с) привожу пример аналогичного перевода целых:
| Код | program perevod; var i,j,ost,x1:integer; n:real; x,r:string; begin writeln('enter number for tranclate to 2c/c from 3c/c'); readln(x); n:=0; for i:=1 to length(x) do begin j:=length(x)-i; if copy(x,i,1)='1' then begin n:=n+exp(j*ln(3)); end else begin if copy(x,i,1)='2' then begin n:=n+2*exp(j*ln(3)); end; end; end; x1=trunc(n); r:=''; while x1>0 do begin ost:=x1 mod 2; if ost=0 then r:='0'+r else r:='1'+r; x1:=x1 div 2; end; writeln('number ',x, ' has double code', r); readln; end.
|
но дробные как перевести не представляю поэтому прошу помочь!
|