SOFTWARE PARA INGENIERIA

TRABAJO COLABORATIVO CONSTRUCCION DE LA SOLUCION

PRACTICA 2

JOAN MANUEL GARCIA TRIANA

CODIGO 1013630601

RUBEN DARIO PENCUE PUENTES

TUTOR:

DANIEL ESTEBA SERRANO

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
SOFTWARE PARA LA INGENIERIA
Grupo: 203036_4

conversion=strcat(conversion. disp('*********************************'). salidaEntera=''. contador=contador+1. PRÁCTICA # 2 Procedimiento Utilizando Matlab o Scilab realice un programa que permita realizar la conversión de un número decimal a cualquier base numérica (1. opcion=input('Opcion. num=input('INGRESE NUMERO DECIMAL. intente de nuevo\n'). parteDecimal=0. while b==1 clc fprintf('CONVERSOR \n\n').6. while opcion>3||opcion<1 fprintf('Opcion incorrecta. resto=0.7…) inferior o igual a la base 20 y de cualquier base numérica a decimal.: '). cociente=floor(cociente/2). contador_s=contador_s+1. %Conversión de un número decimal clc b=1. productoDecimal=0. opcion=input('Opcion. fprintf('\nSELECCIONE UNA OPCION PARA CONVERTIR\n'). end . end for i=contador:-1:1 salida(contador_s:contador_s)=conversion(i:i). %////////////////////// </VARIABLES> switch opcion case 1.4. salidaDecimal=''.3.. fprintf('\n1)Binario\n2)Octal\n3)Hexadecimal\n\n').. end %////////////////// <VARIABLES> cociente=floor(num).num2str(resto)). %////////// <DECIMAL-BINARIO> %conversion de parte entera while cociente>0 resto=rem(cociente. salida=''. conversion=''.: '). restoDecimal=1.2). contador=0.: '). j=0.5. contador_s=1..2.

parteDecimal=(parteDecimal*2)-productoDecimal. .salida. end %/conversion parte entera %conversion parte decimal productoDecimal=0.:'.8). parteDecimal=(parteDecimal*2)-productoDecimal. productoDecimal=floor(parteDecimal*2).. while j<5 if parteDecimal>0 salidaDecimal=strcat(salidaDecimal..salidaDecimal.. end j=j+1.: '.:'. contador_s=contador_s+1.: '. cociente=floor(cociente/8).' ===> BINARIO.' ===> BINARIO.num2str(num). if parteDecimal==0 clc fprintf(strcat('\nDECIMAL. end clc fprintf(strcat('\nDECIMAL. salidaDecimal=''.'. end for i=contador:-1:1 salida(contador_s:contador_s)=conversion(i:i).num2str(resto)). restoDecimal=1. end %/conversion de parte decimal %////////// </DECIMAL-BINARIO> case 2.'\n')).'.num2str(num). contador=contador+1.'\n')). parteDecimal=num-floor(num). %///////// <DECIMAL-OCTAL> %conversion parte entera while cociente>0 resto=rem(cociente.num2str(productoDecimal)).. %/conversion de parte entera %conversion de parte decimal productoDecimal=0. j=0.salida. conversion=strcat(conversion. else productoDecimal=floor(parteDecimal*2).

num2str(productoDecimal)).'\n')). conversion=strcat(conversion. contador=contador+1.: '.'F').'. . parteDecimal=num-floor(num). if parteDecimal==0 clc fprintf(strcat('\nDECIMAL. case 14. conversion=strcat(conversion. salidaDecimal=''.' ===> OCTAL.'B'). else productoDecimal=floor(parteDecimal*8). conversion=strcat(conversion..salidaDecimal. contador=contador+1.: '.num2str(num). end clc fprintf(strcat('\nDECIMAL. contador=contador+1.. end j=j+1..'\n')). restoDecimal=1. while j<5 if parteDecimal>0 salidaDecimal=strcat(salidaDecimal.salida.16). productoDecimal=floor(parteDecimal*8).' ===> OCTAL.'D'). cociente=floor(cociente/16). case 12.'E'). conversion=strcat(conversion. conversion=strcat(conversion. case 11.:'..num2str(num).:'. parteDecimal=(parteDecimal*8)-productoDecimal. conversion=strcat(conversion. contador=contador+1. j=0.'. contador=contador+1. case 15. if resto>9 switch resto case 10. case 13. parteDecimal=(parteDecimal*8)-productoDecimal. %///////// <DECIMAL-HEXADECIMAL> %conversion parte entera while cociente>0 resto=rem(cociente. end %/conversion parte decimal %///////// </DECIMAL-OCTAL> case 3.'A').'C').num2str(salida).

num2str(productoDecimal)). case 11. parteDecimal=num-floor(num). if parteDecimal==0 clc fprintf(strcat('\nDECIMAL. contador=contador+1. end else conversion=strcat(conversion. end else salidaDecimal=strcat(salidaDecimal.num2str(num).. case 15.num2str(resto)). salidaDecimal=strcat(salidaDecimal. case 12.'D'). salidaDecimal=strcat(salidaDecimal. else productoDecimal=floor(parteDecimal*16). salidaDecimal=strcat(salidaDecimal.'F'). end %end %/conversion parte entera %conversion parte decimal productoDecimal=0. contador=contador+1.'C'). end end for i=contador:-1:1 salida(contador_s:contador_s)=conversion(i:i). salidaDecimal=strcat(salidaDecimal. salidaDecimal=strcat(salidaDecimal.:'. restoDecimal=1.'A').'E').. case 13.'B'). salidaDecimal=''. case 14.' ===> HEXADECIMAL.num2str(salida).: '. parteDecimal=(parteDecimal*16)-productoDecimal.'\n')). contador_s=contador_s+1. . salidaDecimal=strcat(salidaDecimal. while j<5 if parteDecimal>0 if productoDecimal>9 switch productoDecimal case 10.

end productoDecimal=floor(parteDecimal*16). end j=j+1.'. end %/conversion parte decimal %///////// </DECIMAL-HEXADECIMAL> end b=input('\nDesea continuar? 1-Sí / Enter-no :'). parteDecimal=(parteDecimal*16)-productoDecimal. end .: '.'\n'))..salidaDecimal.. j=0.salida.' ===> HEXADECIMAL.'.num2str(num). end clc fprintf(strcat('\nDECIMAL.:'.