Está en la página 1de 6

REMARCA: PRESENTAR TANTO EL CODIGO COMO LAS SALIDAS DE ESTOS PROGRAMAS

IMPRESOS. ES OBLIGATORIO ESCRIBIR COMENTARIOS EM LOS CODIGOS DE LOS PROGRAMAS


PARA UNA MEJOR LECTURA DE ESTOS. NO SE ACEPTAN CODIGOS QUE SEAN EXACTAMENTE
IDENTICOS
PARA PODER REALIZAR EN MATLAB SE TIENE QUE INTRODUCIR LOS SIGUIENTES
COMANDOS PARA PODER PROSEGUIR CON LAS FUNCIONES:
xn = abs(x); valor absoluto
pent = floor(xn); parte entera
pdec = x - pent; parte decimal

EJERCICIO 6
1. Crear una funcin convdechex.m en Matlab que transforme un nmero real x escrito en
sistema decimal y devuelva como resultado el nmero correspondiente en el sistema
hexadecimal. Para esto puede inspirarse de la funcin convdecbin.m del texto. Verificar
sus resultados para los valores siguientes:
PARA PODER REALIZAR EN MATLAB SE TIENE QUE INTRODUCIR LOS SIGUIENTES
COMANDOS PARA PODER PROSEGUIR CON LAS FUNCIONES:

Realizar esta funcin para los siguientes valores de Xn:


X1: 189.00056746
X2: 0.0005654
X3: -34.87000987
X4: 123
Realizar con:
-dec2hex : que convierte un numero entero decimal al hexadecimal mostrado
como cadena de caracteres.
-stract : permite concatenar dos o ms cadenas de caracteres

Cdigo:
x=input('x? ');
y = dec2hex(pent);
for i=1:10
mul = 16*pdec;
pdee(i) = floor(mul);
pdec = mul - pdee(i);
end
pdee
for i=1:10
if pdee(i) == 1,
pdee(i)= '1';
elseif pdee(i) == 0,
pdee(i)='0';
elseif pdee(i) == 2,
pdee(i)= '2';
elseif pdee(i) == 3,
pdee(i)= '3';
elseif pdee(i) == 4,
pdee(i)= '4';
elseif pdee(i) == 5,
pdee(i)= '5';
elseif pdee(i) == 6,
pdee(i)= '6';
elseif pdee(i) == 7,
pdee(i)= '7';
elseif pdee(i) == 8,
pdee(i)= '8';
elseif pdee(i) == 9,
pdee(i)= '9';
elseif pdee(i)== 10,
pdee(i)='a';
elseif pdee(i)==11,
pdee(i)= 'b';
elseif pdee(i)==12,
pdee(i)= 'c';
elseif pdee(i)==13,
pdee(i)= 'd';
elseif pdee(i)==14,
pdee(i)= 'e';
elseif pdee(i)==15,
pdee(i)= 'f';
else
pdee(i)='p';
end
end
fprintf('%2s',y); fprintf(','); fprintf('%2s' ,pdee); fprintf('\n');

LOS VALORES QUE SALEN O QUE MUESTRA EL MATLAB


Estos son los valores que muestra para X1= 189.00056746

Estos son los valores que muestra para X2= 0.0005654

Estos son los valores que muestra para X3= -34.87000987

Estos son los valores que muestra para X4= 123

2. Dado un nmero real x crear una funcin en Matlab que devuelva la mantisa (con sino) y
el exponente (con signo) del mismo nmero cuando este nmero es aproximado por una
mquina de 7 dits. (Si el exponente de pasa los limites requeridos por una mquina de 7
dits el programa tendra que mostrar un mensaje de error). Por ejemplo si el nmero es:
X = 3.141592645. = 0.3141592654*10^+1, el resultado de Matlab tendra que ser
0.3142 para la mantisa y 1 para el exponente.
Verificar sus resultados para los siguientes valores:

X1 = 5.4567876
X2 = -0.000004543
X3 = 43.7865*10^-9
X4 = 10.0
Aqu tambin se tiene que introducir los comandos, como del anterior problema
Nota Algunas funciones que podran ser tiles para este programa son
las siguientes:
- format long permite trabajar con 15 dgitos luego del punto decimal.
- mod (m,n) encuentra el resto de la divisin entera de (m) entre (n)

Cdigo:
x=input('x? ');
e=0;
n=3;
format long
while pent ~= 0,
e = e + 1;
xn = xn/10;
pent=floor(xn);
pdec = xn - pent;
end

for i=1:n
pdec= pdec/10;
x(n)=floor(pdec)
pdec=pdec-x(n);
ceil(pdec);
end

fprintf('El exponente es:');


fprintf('%2i',e);
fprintf(',');
fprintf('La mantisa es:');
fprintf('%2i',x);

LOS VALORES QUE SALEN O QUE MUESTRA EL MATLAB

Estos son los valores que muestra para X1 = 5.4567876

Estos son los valores que muestra para X2 = -0.000004543

Estos son los valores que muestra para X4 = 10.0