25.05.2011, 15:46
|
Прохожий
|
|
Регистрация: 22.05.2011
Сообщения: 28
Репутация: 10
|
|
подскажите пожалуйста.дана задача в паскале ее нужно переделать так чтобы она работала в делфи+элементы калькулятора.ну допустим сложение переведенных в другую сс чисел
{Написать программу перевода числа из одной СС в другую}
Код:
program p1;
uses crt;
var cs1,cs2,res,change:integer;
TD:string;
function FromDec(n,r:longint):string;
var
s:String;
const
digit:string[16]='0123456789ABCDEF';
begin
s:='';
repeat
s:=digit[(n mod r)+1]+s;
n:=n div r;
until n=0;
FromDec:=s;
end;
function ToDec(n:string;r:longint):longint;
var
m,i:longint;
const
digit:string[16]='0123456789ABCDEF';
begin
m:=0;
while n[1]='0' do
delete(n,1,1);
for i:=1 to length(n) do
m:=m*r+pos(n[i],digit)-1;
ToDec:=m;
end;
begin
write('Введите из какой сс (2,8,10,16): ');
readln(cs1);
if (cs1=0) or (cs1=1) or (cs1=3) or (cs1=4) or (cs1=5) or (cs1=6) or (cs1=7) or (cs1=9) or (cs1=11) or (cs1=12) or (cs1=13) or (cs1=14) or (cs1=15)
then writeln('Неверное основание СС!')
else write('Введите число в соответствии с ',cs1,'-ой сс: ');
readln(TD);
writeln('Введите в какую сс (2,8,10,16):');
readln(cs2);
case cs2 of
0,1,3,4,5,6,7,9,11,12,13,14,15: exit;
end;
writeln(FromDec(ToDec(TD,cs1),cs2));
end.
Админ: напоминаю про оформление кода, иначе последуют санкции!
|