
programa que transforme la base 2 a 16 en base 10
Publicado por tammara (5 intervenciones) el 05/09/2017 21:51:47
hola, tengo que hacer un programa que transforme la base 2 a 16 en base 10 pero tengo un problema ejecuto una vez el problema y me lo calcula bien a la siguiente linea le pongo otra base con otro numero y me lo calcula mal no se cual es el problema si el primer numero que le puse me lo calculo bien.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
PROGRAM calcula;
CONST
maxlargo=6;
VAR
d,c,cont,base:integer;
caracter:char;
BEGIN
base:=0;
c:=0;
read(caracter);
while (caracter<>'$') do
begin
while (caracter<>':') do
begin
base:=ord(caracter)-ord('0')+base*10;
read(caracter);
end;
if (caracter=':') then
begin
read(caracter);
C:=C+1;
case caracter of
'A':cont:=10;
'B':cont:=11;
'C':cont:=12;
'D':cont:=13;
'E':cont:=14;
'F':cont:=15;
else
cont:=ord(caracter)-ord('0');
end;
end;
read(caracter);
while (caracter<>'.') do
begin
c:=c+1;
case caracter of
'A':d:=10;
'B':d:=11;
'C':d:=12;
'D':d:=13;
'E':d:=14;
'F':d:=15;
else
d:=ord(caracter)-ord('0');
end;
cont:=cont*base+d;
read(caracter)
end;
readln();
if (c>maxlargo) then
write('ERROR')
else
write(cont);
end;
end.
Valora esta pregunta


0