Escribir una función que convierta un número romano a su equivalente decimal. Los valores de los números romanos son:
I 1
V 5
X 10
L 50
C 100
Se utilizará como representación el sistema en el que la posición de los caracteres importa, es decir, el valor 4 sería IV.
function out = practica1_10()
num=input('Ingrese el numero romano: ', 's');
total=0;
valor_anterior=0;
for i=1:length(num)
letra=num(i);
switch letra
case 'C'
valor=100;
case 'M'
valor=1000;
case 'D'
valor=500;
case 'L'
valor=50;
case 'X'
valor=10;
case 'V'
valor=5;
case 'I'
valor=1;
end
if (valor>valor_anterior&&valor_anterior>0)
valor_anterior = 0-valor_anterior;
end
total = total + valor_anterior;
valor_anterior = valor;
end
out=total+valor_anterior;
end
|
Escribir una función que se le pase como parámetro una frase y que devuelva un cell array con todas las palabras que se han utilizado en la frase y el número de veces que se repite cada palabra.
Probar los resultados con las frases ‘Primera frase de prueba de este ejercicio’ ‘Otra frase para la prueba de la frase de la practica’
function out = practica1_ejercicio11()
resto = input('Introduzca la frase: ','s');
separadas = {};
i = 1;
while length(resto) ~=0
[primera,resto] = strtok(resto);
separadas{i} = primera;
i = i+1;
end
lonngitudCellArray=i-1;
posicion=1;
numeroPalabras={};
for j=1:lonngitudCellArray
contador=0;
for k=1:lonngitudCellArray
if(strcmp(separadas{j},separadas{k})==1)
contador=contador+1;
end
end
numeroPalabras{posicion}=contador;
posicion=posicion+1;
end
out=[separadas;numeroPalabras];
end
|