Está en la página 1de 2

EJERCICIOS RESUELTOS SP-1

6.- Leído un numero N, entero y positivo en base 10, convertirlo a binario (base 2).
Ejemplo: N=5 en base 10, en base 2 es 101.

Programa SP1-6()
INICIO
N = LeerEnteroPositivo()
R = conversion_b10_b2(N)
Mostrar N, " base 10 convertido a base 2 es ", R
FIN

// CONVERSION DE BASE 10 a base 2


Funcion conversion_b10_b2(int n)
Int n,p,x,c
INICIO
p0:c0
Mientras (n>0)
x  n MOD 2 // asigna a x el resto de la division por 2
p  p + x*(10^c) // componemos los restos en otro numero
cc+1 // se incrementa la potencia de 10
n  n DIV 2
finMientras
Devolver p
FIN

7.- Leído un numero N, entero y positivo en base 10, convertirlo a uno de base B
(2<=B<=9 ).
Ejemplo: N=9 en base 10, en base B=3 es 100

Programa SP1-7()
Int N, B, R
INICIO
N = LeerEnteroPositivo()
Mostrar “a que base se convierte ¿?”
B = LeerEnteroPQ(2,9)
R = conversion_b10_bB(N, B)
Mostrar N, " en base 10 convertido a base”, B, “es ", R
FIN

// CONVERSION DE BASE 10 a base B


Funcion conversion_b10_bB(int N, int B)
Int p,x,c
INICIO
p0:c0
Mientras (N>0)
x  N MOD B // asigna a x el resto de la division por B
p  p + x*(10^c) // componemos los restos en otro numero
cc+1 // se incrementa la potencia de 10
N  N DIV B
finMientras
Devolver p
FIN

9.- Leído un número N, en base B (2 <= B <= 9) convertirlo a uno de base 10.
Ejemplo: N=101 en base B=2, es 5 en base 10
y también N=100 en base B=4, es 16 en base 10.

Programa SP1-9()
Int bb, R, B, N
INICIO
bb  0
Mientras (bb=0)
Mostrar "Cual Base eligio =?? <2..9>"
B = LeerEnteroPQ(2,9)
Mostrar "Digite un numero en base ", B
N  LeerEnteroPQ(0,100000)
bb  VerificaNumeroEnBaseB(N, B)// si devuelve 1 ok
FinMientras
R = conversion_bB_b10(N, B)
Mostrar N, "en base “, B, “convertido a base 10 es ", R
FIN

// CONVERSION DE BASE B a base 10


Funcion conversion_bB_b10(int n, int B)
Int n, b, c, x, q, r
INICIO
c0:q0
Mientras (n>0)
x  n MOD 10 // se obtiene un digito
q  q + x*(B^c) // se multiplica por una potencia de B
n  n DIV 10 // se elimina el ultimo digito
cc+1 // se incrementa la potencia de B
finMientras
Devolver q
FIN

También podría gustarte