Conversión de sistemas numéricos

Share Embed Donate


Short Description

Download Conversión de sistemas numéricos...

Description

P.9.2.− Escribir un programa que, leido un numero entero positivo, lo transforme en binario y en hexadecimal. Se deben visualizar los resultados. program hexadecimal92; uses crt; var num:integer; transb,transh:string; opc:char; {PROCEDIMIENTOS} {este precedimiento lee el numero a transformar, y lo valida (sea entero y positivo)} procedure leernum (var n:integer); begin repeat write ('Introduzca un numero: '); readln (n); until (n=int(n)) and (n=abs(n)); end; {*******************} {Transforma el numero a binario} procedure cambiobin (n:integer;var trans:string); var cociente,resto:integer; ch:string; begin cociente:=n; trans:=''; 1

while cociente>=2 do begin resto:=cociente mod 2; str (resto,ch); trans:=ch+trans; ch:=''; cociente:=cociente div 2 end; {cierra el while} str (cociente,ch); trans:=ch+trans end; {**********************} {transforma el numero a hexadecimal} procedure cambiohex (n:integer; var trans:string); var cociente,resto:integer; ch:char; {FUNCIONES} {Esta funci¢n recibe el resto o el cociente y lo transforma en el caracter correspondiente} function cambiar (x:integer):char; begin case x of 0: cambiar:='0'; 1: cambiar:='1'; 2: cambiar:='2'; 3: cambiar:='3';

2

4: cambiar:='4'; 5: cambiar:='5'; 6: cambiar:='6'; 7: cambiar:='7'; 8: cambiar:='8'; 9: cambiar:='9'; 10: cambiar:='A'; 11: cambiar:='B'; 12: cambiar:='C'; 13: cambiar:='D'; 14: cambiar:='E'; 15: cambiar:='F' end end; {*******************************} begin cociente:=n; trans:=''; while cociente>16 do begin resto:=cociente mod 16; ch:=cambiar (resto); trans:=cambiar (resto)+trans; cociente:=cociente div 16 end; {cierra el while} ch:=cambiar (cociente);

3

trans:=ch+trans end; *************************************** {visualiza los resultados} procedure resultados (num:integer; bin:string; hex:string); begin writeln (num, ' EN DECIMAL'); writeln (bin, ' EN BINARIO'); writeln (hex, ' EN HEXADECIMAL'); readkey end; {************************} {PROGRAMA PRINCIPAL} begin repeat CLRSCR; leernum (num); cambiobin (num,transb); cambiohex (num,transh); resultados (num,transb,transh); repeat clrscr; write ('S−SALIR/C−CONTINUAR'); opc:=upcase (readkey); until (opc='C') or (opc='S'); until (opc='S')

4

end.

5

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF