на языке программирования Паскаль составить программу для перевода числа из 10-чной системы счисления в систему счисления с основанием 12 или 16 (количество разрядов на ваше усмотрение).

1

Ответы и объяснения

  • nemp
  • хорошист
2013-05-16T14:54:39+00:00

Program a1;
Uses crt;
function sc(i,vr:integer):integer;
var cic,p:integer;
begin
p:=1;
if i>1 then
For cic:=1 to i-1 do
p:=p*16;
result:=vr*p;
end;

var
b: set of 'a' .. 'z';
c:set of '0'..'9';
ch,s,l,vr,i:integer;
sr:real;
s1,s2:string;
z:char;
otvet:longint;
Begin
Write('Введите число, s1= ');
Readln(s1);
l:=length(s1);
While l>0 do
begin
s2:=s2+s1[l];
l:=l-1
end;
l:=length(s2);
For i:=1 to l do
begin
z:=s2[i];
If (ord(z)>96) and (ord(z)<123)
then
begin
case z of
'a': begin
vr:=10;
otvet:=otvet+sc(i,vr);
end;
'b': begin
vr:=11;
otvet:=otvet+sc(i,vr);
end;
'c': begin
vr:=12;
otvet:=otvet+sc(i,vr);
end;
'd': begin
vr:=13;
otvet:=otvet+sc(i,vr);
end;
'e': begin
vr:=14;
otvet:=otvet+sc(i,vr);
end;
'f': begin
vr:=15;
otvet:=otvet+sc(i,vr);
end;
end;
end else
if (ord(z)>47) and (ord(z)<57) then
begin
vr:=strtoint(z);
otvet:=otvet+sc(i,vr);
end;
end;
Writeln('Ответ = ',otvet);
End.