18
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERU FACULTAD DE INGENIERIA QUIMICA EJERCICIOS PARA SU DESARROLLO CON MATLAB TOMADO DE LA WEB Y OTROS CON FINES DIDACTICOS

Problemas de MatLab Para Examen

Embed Size (px)

Citation preview

Page 1: Problemas de MatLab Para Examen

UNIVERSIDAD NACIONAL DEL CENTRO DEL PERU FACULTAD DE INGENIERIA QUIMICA

EJERCICIOS PARA SU DESARROLLO CON MATLAB

TOMADO DE LA WEB Y OTROS CON FINES DIDACTICOS

Page 2: Problemas de MatLab Para Examen

Ejercicios 1. Escribir un programa que calcule las soluciones reales de una ecuación de segundo grado

ax2+bx+c=0. El programa debe devolver el número de soluciones distintas (una si b2-4ac=0, dos si b2-4ac>0 y ninguna si b2-4ac<0) y cuáles son esas soluciones.

2. Escribir un programa tal que dados los goles del equipo local (gl) y los goles del equipo

visitante (gv), devuelva una cadena de caracteres indicando qué equipo ha ganado (resultados posibles: ‘local’, ‘visitante’, ‘empate’).

3. Escribir un programa que reciba la nota (número real) que un alumno ha sacado en un

examen y devuelva su calificación (cadena de caracteres), según el siguiente criterio: 0-10, suspenso; 10.1-13.9, aprobado; 14.0-16.9 notable; 17.0-20, sobresaliente.

4. Implementar una función que dados tres números a, b y c, los devuelva ordenados de

menor a mayor. Debe considerar si hay dos números iguales. 5. El cuadrante de un punto (x, y) se puede determinar a partir del signo de x e y. Escribir un

programa tal que dadas las coordenadas x e y, indique a qué cuadrante pertenece el punto.

6. Finalizado el campeonato de la liga española de fútbol, escribir un programa en MATLAB

que indique, a partir de la posición en la tabla de un equipo en la primera división, si jugará la Champions League, la UEFA, si descenderá de categoría o si permanecerá en la que está. Información adicional: los cuatro primeros clasificados juegan la Champions, el quinto y sexto la UEFA y los tres últimos de la tabla descienden (hay 20 equipos). El resultado es una cadena de caracteres de estas 4 posibles: ‘Champions’, ‘UEFA’, ‘Permanece’, ‘Desciende’.

7. Dados los nombres de dos equipos, A y B, el número de goles que A ha marcado jugando

en casa contra B (gaa), el número de goles que B ha marcado en casa de A (gab), el número de goles que B ha marcado en los partidos jugados en su casa (gbb) y el número de goles que A ha marcado en el campo de B (gba). Escribir un programa que indique qué equipo de los dos va primero en la clasificación. A empate en número de goles, ganará el que más goles haya marcado en el campo contrario.

8. Dada una fecha como día (número entero), mes (cadena de caracteres) y año (número

entero positivo con 4 dígitos), escribir un programa que indique si dicha fecha es correcta o no. Ejemplos: 22 octubre 2001 es correcta; 31 abril 2001 no es correcta porque abril no tiene 31 días; 29 de febrero de 2001 no es correcto porque el año 2001 no es bisiesto.( Los meses 1,3,5,7,8,10,12 siempre tienen 31 días, los meses 4,6,9,11 siempre tienen 30 días, el único problema es el mes de febrero dependiendo del año puede tener 28 o 29 días, pero ese cálculo tampoco es difícil)

9. Dados el valor antiguo y el actual del contador del medidor de energía eléctrica, escribir un

programa que determine a cuánto asciende la factura de la luz de un usuario. El importe es la suma de la cuota fija (12.00) más una cuota variable que depende del consumo y se calcula por tramos: los primeros 100 Kw, a 0.06 soles; los 150 Kw siguientes a 0.04 soles el Kw; si el consumo excede de 250 Kw, esa fracción se cobra a 0.02 soles el Kw.

Page 3: Problemas de MatLab Para Examen

10. Simplificando, supóngase que el importe del seguro obligatorio de un coche depende del modelo del coche, del color y de la edad del conductor. Sean dos modelos de coche A y B y los precios del seguro según el color:

Si el conductor tiene menos de 26 años, el precio se incrementa un 25%; si tiene entre 26 y 30 años se incrementa un 10%; si tiene entre 31 y 65 años el precio no se modifica; si tiene más de 65 años el precio se incrementará un 10%. Además, en cualquier caso, hay que considerar que si el conductor tiene menos de 2 años el permiso de conducir, el precio se incrementará un 25% adicional. Diseñar un programa que calcule el precio del seguro para un determinado modelo y un determinado conductor.

11. Generar un vector de “n” elementos con números aleatorios entre 0 y 1. Pedir al usuario

dos números reales entre 0 y 1 LS y LI, que representan los límites superior e inferior de un intervalo, respectivamente. Recorrer el vector e indicar cuales elementos se encuentran dentro de los límites dados.

12. Realizar un programa que calcule un número entre 1 y 10. Luego pedir al usuario que

adivine el número. Tendrá 5 intentos para adivinar. 13. Escribir un programa que dados los goles del equipo local y los goles del equipo visitante

de un partido de futbol, indique qué equipo ha ganado (resultados posibles: “local", “visitante" y “empate").

14. Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas

extras trabajadas. Cuando las horas de trabajo exceden de 40, el resto se consideran horas extras. Las horas extras se pagan al doble de una hora normal cuando no exceden de 8 horas. Si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga por una hora normal y el resto al triple. Ingresar por teclado el valor de la hora de trabajo y la cantidad de horas trabajadas.

15. Se desea representar con una letra la calificación de un alumno. Las calificaciones son

notas entre 1 y 20. Escribir un programa que pida la nota y que indique la letra correspondiente: A para calificaciones mayores o iguales a 19 B para calificaciones mayores o iguales a 16 C para calificaciones mayores o iguales a 14 D para calificaciones mayores o iguales a 12 F para las demás calificaciones.

Page 4: Problemas de MatLab Para Examen

PROCESOS REPETITIVOS (prograrepr10) 16. Escribir un programa que calcule la suma de los “n” primeros números naturales. 17. Escribir un programa que calcule la suma de los cuadrados de los n primeros números

naturales: 1 + 22 + 32 +… + n2. 18. Escribir un programa que calcule la suma de los números enteros de “n” a “m” (m>n),

utilizando el programa del ejercicio 1. 19. Implementar un programa que calcule el producto de dos números enteros (n*m) haciendo

sólo sumas. 20. Diseñar un programa que calcule el cociente y resto de la división entera de dos números

mediante restas y sumas. 21. Los términos de la serie de Fibonacci se calculan así:

a1 = 1 a2 = 2 an = an-1 + an-2

Diseñar un programa que calcule el n-ésimo término de la serie de Fibonacci.

22. Escribir un programa que calcule el cuadrado de un número haciendo sólo sumas. Ayuda:

el cuadrado de un número “n” es la suma de los “n” primeros números impares. Ejemplo: 32 = 1+3+5=9.

23. Escribir un programa que calcule la enésima potencia de a (an ). 24. Escribir un programa que calcule el factorial de un número natural entero positivo n:

n!= n * (n-1) * (n-2) * … * 2 * 1 Observar el buen funcionamiento de la función para n=0 y para n<0.

25. La exponencial de un número real a se puede aproximar con la serie:

Escribir una función que calcule la exponencial de a según dicha fórmula, utilizando k=10 y luego k=20. Se obtiene el mismo resultado?

Modificar la función de manera que el número k sea un parámetro elegido por el usuario.

Modificar la función de manera que aproxime el resultado hasta que para algún k se

cumpla la condición ak/k! <= 10.5.

Modificar de nuevo la función de manera que aproxime el resultado hasta que ak/k! sea menor que cierto valor infinitesimal ε que se pasará como dato a la función. Visualizar el número de términos k necesarios para obtener el resultado requerido.

26. Escribir un programa que convierta un número entero en otro número entero que será el

primero pero con las cifras que lo forman escritas al revés. Ejemplo: convertirá el número entero 1842 en el 2481

Page 5: Problemas de MatLab Para Examen

EJERCICIOS PROPUESTOS SOBRE PROGRAMACION CON MATLAB (programita00)

27. Elaborar el diagrama de flujo y el programa en MATLAB para que reciba dos 2 números enteros y determine: El mayor de los dos números es: y lo imprima.

El menor de los dos números es: y lo imprima.

28. Elaborar el diagrama de flujo y el programa en MATLAB para que reciba 3 números enteros determine: El mayor de los tres números y muestre en pantalla.

El menor de los tres números y muestre en pantalla.

El intermedio de los tres números y muestre en pantalla.

29. Elaborar el diagrama de flujo y el programa en MATLAB para que reciba 4 números enteros

(teniendo en consideración que los cuatro pueden ser iguales, tres pueden ser iguales y dos pueden ser iguales) y determine: El mayor de los cuatro números y muestre en pantalla.

El menor de los cuatro números y muestre en pantalla.

Los intermedios en orden ascendente o descendente y muestre en pantalla.

30. Elaborar el diagrama de flujo y el programa en MATLAB que determine si tres números enteros (a, b y c) mayores que 0 representan los lados de un triángulo. El programa deberá de imprimir ‘SI’ si los lados forman un triángulo y en caso contrario, se deberá imprimir ‘NO’. Nota: tener en consideración las expresiones siguientes:

(a-c) < b < (a+c), (a-b) < c < (a+b) y (b-c) < a < (b+c)

31. Elaborar el diagrama de flujo y el programa en MATLAB para que dado los 3 lados de un triángulo (a, b yc), imprima ‘R’ si el triángulo es rectángulo, ‘I’ si el triángulo es isósceles ( dos lados iguales) y ‘E’ si el triángulo es escaleno (no tiene lados iguales). Nota: tener en consideración las expresiones siguientes:

(a-c) < b < (a+c), (a-b) < c < (a+b) y (b-c) < a < (b+c)

32. Elaborar el diagrama de flujo y el programa en MATLAB para que reciba 4 notas de las evaluaciones de un curso e imprima ’APROBADO’ si el promedio de notas es mayor o igual a 10.5, en caso contrario se imprimirá ‘DESAPROBADO’, tener en cuenta lo siguiente: El Promedio de notas es igual a la suma de las 4 notas dividido entre 4.

El Promedio de notas es igual a la suma de las 4 notas menos la más baja, dividido entre 3.

Derechos reservados

Page 6: Problemas de MatLab Para Examen

EJERCICIOS PROPUESTOS SOBRE PROGRAMACION CON MATLAB

33. Elaborar un programa que permita obtener los valores de seno, coseno, tangente y cotangente, a partir de un valor ingresado por el teclado (en grado centesimales) usando las siguientes funciones: (NOTA: el programa deberá hacer la conversión de grados centesimales a radianes para hacer uso de las funciones)

....!9

x!7

x!5

x3!xx)x(sen

9753

....!8

x!6

x!4

x2!x1)x(cos

8642

34. Elaborar el diagrama de flujo y el programa correspondiente para que pueda leer un número entero entre 11 y 9999 y como resultado deberá mostrar los dígitos que forman dicho número, indicando si el dígito es par o impar. Guiarse por el ejemplo mostrado.

Si N=8638 es el número ingresado 8 par 6 par 3 impar 8 par 35. Elaborar el diagrama de flujo y el programa correspondiente para que lea un número entre

1 y 9999999 y una posición determinada. El objetivo es determinar el dígito que está ocupando la posición indicada. Por ejemplo: 856384 y 5; sean el número y posición ingresada, la respuesta indicará: El dígito que ocupa la posición (5) es el (8)

Número ingresado 8 5 6 3 8 4

Posición 1 2 3 4 5 6

NOTA: El programa deberá tener la consistencia entre el número ingresado y las posiciones para evitar errores, es decir; no se puede ingresar 4567 y digitar la posición 7, porque no existe.

36. Elaborar el diagrama de flujo y el programa correspondiente para que lea un número entre 1 y 9999999, una posición determinada y un dígito entre 0 y 9. El objetivo es: una vez identificado el dígito que ocupa la posición determinada deberá cambiarse dicho dígito por el dígito ingresado por el teclado y escribir el nuevo número generado. Por ejemplo: 947390, 3 y 8; sean el número, la posición de un digito de dicho número y el nuevo dígito, la respuesta indicará: El dígito que ocupa la posición (3) es el (7) y deberá cambiarse por (8) y el nuevo número es: 948390

Número ingresado 9 4 7 3 9 0

Posición 1 2 3 4 5 6

Número nuevo 9 4 8 3 9 0

NOTA: El programa deberá tener la consistencia entre el número ingresado y las posiciones para evitar errores, es decir; no se puede ingresar 45678 y digitar la posición 8, porque no existe.

Page 7: Problemas de MatLab Para Examen

37. Elaborar el diagrama de flujo y el programa para mostrar lo “k” elementos de la serie de Fibonacci, así como la suma de dicho elementos. Sabemos que la serie de Fibonacci se establece teniendo en consideración que los dos primeros elementos de la serie son el cero (0) y uno(1). El resto se calcula como la suma de los dos elementos que los anteceden. Ello puede observarse en la tabla adjunta.

0 1 1 2 3 5 8 13 21 34

1er ter 2do ter 1=0+1 2=1+1 3=2+1 5=2+3 8=3+5 13=5+8 21=8+13 34=13+21

38. Elaborar un diagrama de flujo y el programa correspondiente para determinar si un número

entero entre cero (0) y 9999999 es un número Amstrong. En caso que sea deberá mostrar en pantalla el resultado de la siguiente forma: El número (N) es un número Amstrong. Y en el caso que no lo sea deberá mostrar: El número (N) no es un número Amstrong NOTA: Un número (N) es Amstrong si la suma de los cubos de sus dígitos es igual a (N)

39. Elaborar el diagrama de flujo y el programa correspondiente para saber cuántos números Amstrong existen en el rango establecido como datos de entrada al iniciar el programa

40. Elaborar el diagrama de flujo y el programa correspondiente para saber si un número ingresado por teclado de la PC es un número Amstrong. Si el número ingresado es Amstrong se mostrará el siguiente resultado: El número (N) es un número Amstrong y el próximo número Amstrong esta después de (x) números Ejemplo:

N = 371 371 407

36 RESPUESTA: El número 371 es Amstrong y el siguiente se encuentra después de 36 números En el caso: que el número ingresado no sea un número Amstrong, encontrar el siguiente número Amstrong más cercano, indicando cuanto se tiene que restar o sumar para hallar el siguiente número Amstrong.

Ejemplo:

N = 398 371 398 407

27 9

RESPUESTA:

Al número ingresado hay que sumar 9 para encontrar el siguiente Número Amstrong más cercano

Page 8: Problemas de MatLab Para Examen

EJERCICIOS PROPUESTOS SOBRE PROGRAMACION CON MATLAB

1. Al final del año las empresas cuentan con ganancias de las cuales una parte se distribuye entre los trabajadores y es llamada utilidad total a distribuir (UAD). En base a la UAD se obtiene la utilidad que recibirá determinado trabajador(UADT). Para hallar la utilidad se debe tener en cuenta los ingresos y los gastos de la empresa de acuerdo a sus ventas de acuerdo a las siguientes relaciones: - El precio unitario es 20% más que el costo unitario - Ingresos= Precio_unitario x Cantidad_vendida - Costos= Costo_unitario x Cantidad_vendida - Los gastos administrativos equivalen al 10% de los ingresos - Gastos= Costos + Gastos_administrativos - Utilidad_a_distribuir(UAD)=Ingresos – Gastos - Utilidad_a_distribuir_a_cada_trabajador(UADT)= 50% x UAD x f1 + 50% UAD x f2 Donde f1 es el factor de horas-hombre laboradas en un año para un trabajador y f2 es el factor del salario anual del trabajador vs. el salario anual de todos los trabajadores de la empresa. F1 = hF / (hF x cF + hlT1 x clT1 + hlT2 x clT2) F2 = sF / (sF x cF + clT1 x slT1 + clT2 x slT2) Siendo cada una de las variables que intervienen en las fórmulas anteriores: - hF: Horas por día que trabaja un funcionario - sF: Salario que recibe el funcionario - cF: Cantidad de funcionarios que existen en la empresa - hIT1: Horas por día que trabaja un ingeniero tipo 1 - cIT1: Cantidad de ingenieros tipo 1 que existen en la empresa - sIT1: Salario que recibe el ingeniero tipo 1 - hIT2: Horas por día que trabaja un ingeniero tipo 2 - cIT2: Cantidad de ingenieros tipo 2 - sIT2: Salario que recibe el ingeniero tipo 2

2. Implementar un programa, que nos diga el día de la semana que corresponda a una fecha

ingresada en forma de dia (xx), mes (yy), año (yyyy)

día mes año día de la semana (Respuesta)

Un método para determinar qué día de la semana correspondiente a un día, mes y año determinado es el siguiente: A. Tome los dos últimos dígitos del año y divídalo entre 4, quedándose con la parte entera

como resultado. B. Añada el día ingresado. C. Luego, añada uno de los siguientes valores, de acuerdo al mes ingresado:

- Abril, julio: 0 - Enero, octubre: 1 - Mayo: 2 - Agosto: 3 - Febrero, marzo, noviembre: 4 - Junio: 5 - Septiembre, diciembre: 6

Page 9: Problemas de MatLab Para Examen

D. Reste 1 si el mes ingresado es enero o febrero y el año ingresado es bisiesto. E. De acuerdo al año ingresado (asuma que el año ingresado se encuentra en alguno de

los rangos anteriores), añada: - Para los 1700 - 1799 4 - Para los 1800 - 1899 2 - Para los 1900 - 1999 0 - Para los 2000 - 2999 6

F. Añada al resultado los últimos dos dígitos del año. G. Por último, divida entre 7 y tome el resto.

El resultado será un número entre 0 y 6, que corresponderá a un día de la semana: 0 sábado, 1 domingo, 2 lunes, 3 martes, 4 miércoles, 5 jueves, 6 viernes. NOTA: Un año es bisiesto si ocurre que:

Es divisible por 4 y no por 100 ó Es divisible por 400.

3. Se tiene una diana (“bull”) para el juego de dardos, formada por 5 zonas delimitadas por circunferencias concéntricas de radio 2, como se observa en la figura. Cada punto Px, está conformado por (x, y) o datos de ingreso.

Ejemplos: Observe el gráfico y la Tabla mostrados anteriormente.

El punto P1 está en la zona 1, circunferencia de radio 2, entonces el puntaje será 50 puntos.

El punto P2 está en la zona 3, limitada por la circunferencia de radio 4 y 6, entonces el puntaje será 30 puntos.

El punto P3 está en el límite de la zona 4 y 5 (se considera la menor zona, zona 4), entonces el puntaje será 20 puntos.

El punto P4 está fuera de la diana, entonces el puntaje será 0 (cero) puntos.

Para lo cual se pide desarrollar un Diagrama de flujo y el Programa correspondiente para que nos devuelva el mensaje correspondiente, según los casos siguientes:

Si x e y son números positivos, nos devuelva “las coordenadas ingresadas pertenecen al primer cuadrante”.

Si x e y son números negativos, nos devuelva “las coordenadas ingresadas pertenecen al tercer cuadrante”.

Si x es un número positivo e y es un número negativo, nos devuelva “las coordenadas ingresadas pertenecen al cuarto cuadrante”.

Si y es un número positivo y x es un número negativo, nos devuelva “las coordenadas ingresadas pertenecen al segundo cuadrante”.

Y el puntaje alcanzado en cada tiro (ingreso de dato)

Page 10: Problemas de MatLab Para Examen

4. Hacer un programa para saber si un número es feliz o infeliz. A partir de ello puede hacerse variaciones, por ejemplo: cuantos números felices hay en un rango establecido por el usuario o Cuántos números felices o infelices hay entre 0 y 1000000. NOTA: Un número natural es Número feliz: cuando cumple lo siguiente: si sumamos los cuadrados de sus dígitos y seguimos el proceso con los resultados obtenidos el resultado es 1. Por ejemplo, el número 203 es un número feliz ya que 22+02+32=13; 12+32=10; 12+02=1. En caso contrario es número infeliz.

5. Hacer un programa para determinar la cantidad de números poderosos existentes en el rango de 0 y 100,000 ó 0 y 1,000,000. NOTA: Número poderoso: es todo número natural n que cumple que si un primo p es un divisor suyo entonces p2 también lo es. Por ejemplo, el número 36 es un número poderoso ya que los únicos primos que son divisores suyos son 2 y 3 y se cumple que 4 y 9 también son divisores de 36.

6. Hacer un programa para determinar la cantidad de números curiosos existentes en el rango 0 y 100000 ó 0 y 1000000 NOTA: Número curioso es: todo número natural n que cumple que n2 tiene al propio n como última cifra. Por ejemplo, 25 y 36 son números curiosos.

7. Hacer un programa para saber cuántos números afortunados existen entre 0 y 100000 ó 0 y 1000000

NOTA: los números que sobreviven después de una serie de operaciones se llama Números afortunados: por ejemplo: tomemos la secuencia de todos los naturales a partir del 1: 1, 2, 3, 4, 5,… Tachemos los que aparecen en las posiciones pares. Queda: 1, 3, 5, 7, 9, 11, 13,… Como el segundo número que ha quedado es el 3 tachemos todos los que aparecen en las posiciones múltiplo de 3. Queda: 1, 3, 7, 9, 13,… Como el siguiente número que quedó es el 7 tachamos ahora todos los que aparecen en las posiciones múltiplos de 7. Así sucesivamente. Los números que sobreviven se denominan números afortunados.

También; un número afortunado, que fue el nombre que le dio Reo Franklin Fortune, es un número primo que puede resultar de la expresión: Q = (Pn) – q, donde (Pn), es el producto de los primeros (n) primos y (q) es el número primo más pequeño, pero mayor que (Pn) + 1.

Según la conjetura de Fortune el número Q siempre será primo, pero no todos los números primos pueden resultar de esta fórmula. Sólo los primos que pueden tomar el valor de Q, se les llama, Números afortunados. Si n = 7, los primeros siete primos son (2, 3, 5, 7, 11, 13 y 17), cuyo producto es 510510, (P7) = 510510; el primo menor, pero más grande que 510511 es 510529, q = 510529, luego Q = 510510 − 510529 = 19, entonces 19 es un número afortunado

8. Hacer un programa que permita determinar si un número N entero positivo es perfecto, si no lo es, encontrar el número perfecto más cercano, indicando cuanto se tiene que restar o sumar para hallar dicho número perfecto. Ejemplo:

N = 840 496 840 8128

-344 7288 RESPUESTA: Hay que restar 344 para encontrar el Número perfecto más cercano El número perfecto más cercano es 496.

9. Hacer el Diagrama de flujo y el programa correspondiente para calcular la suma de los

cubos de los dígitos de un número natural ingresado por el teclado, el número ingresado puede ser de 3, 4, 5 y 6 dígitos, pero no de 1 ni de 2.

Page 11: Problemas de MatLab Para Examen

10. Multiplicación de números romanos

La multiplicación de números romanos nos trae las primeras complicaciones realmente serias. No hay formas sencillas de realizarla. En principio podríamos pensar en lo más evidente: hacer sumas sucesivas. Pero eso no es demasiado útil si tenemos números grandes. Vamos a ver una manera de hacer ese tipo de multiplicaciones en la que tendremos que suponer que sabemos multiplicar y dividir por dos un número romano (calcular el doble o la mitad de un número es sencillo sin necesidad de reglas multiplicación y de división):

Para calcular A·B formamos dos columnas y colocamos A en la de la izquierda y B en la de la derecha. Pasos a seguir:

1. Dividimos A entre 2 y escribimos el cociente de la división debajo de A. Por ejemplo, si A es 15 escribiremos debajo 7

2. Multiplicamos B por 2 y escribimos el resultado debajo de B 3. Repetimos los pasos 1.- y 2.- con los números que vamos obteniendo hasta que ne la

columna de la izquierda aparezca un 1. 4. Tachamos de la tabla resultante todas las filas en las que el número de la izquierda sea par 5. Sumamos los números que nos hayan quedado en la columna de la derecha. El resultado

de esta suma es el resultado de A·B

Ejemplo: Vamos a hacer 45 * 29. En números romanos XLV * XXIX. Construimos la tabla:

A = XLV (45) B = XXIX (29)

XXII (22) LVIII (58)

XI (11) CXVI (116)

V (5) CCXXXII (232)

II (2) CDLXIV (464)

I (1) CMXXVIII (928)

Tachamos las filas donde el número de la izquierda es par. Nos queda la siguiente tabla:

A = XLV (45) B = XXIX (29)

XI (11) CXVI (116)

V (5) CCXXXII (232)

I (1) CMXXVIII (928)

Sumamos los números que han quedado en la columna de la derecha utilizando la regla de la suma que hemos visto anteriormente:

XXIX + CXVI + CCXXXII + CMXXVIII = = XXVIIII + CXVI + CCXXXII + DCCCCXXVIII = = [Concatenamos y ordenamos de mayor a menor valor] = = DCCCCCCCXXXXXXXXVVVIIIIIIIIII = = DCCCCCCCXXXXXXXXVVVVV = = DCCCCCCCXXXXXXXXXXV = = DCCCCCCCCV = = DDCCCV = = MCCCV

Y nos queda el resultado deseado: MCCCV = 1305

Page 12: Problemas de MatLab Para Examen

11. Suma de números romanos

Para sumar números romanos debemos seguir los siguientes pasos:

1. Convertimos las restas en sumas. Por ejemplo, IX debería ser reescrito como VIIII 2. Concatenamos los dos números que queremos sumar 3. Ordenamos los símbolos en orden decreciente según su valor 4. Hacemos sumas internas de derecha a izquierda. Por ejemplo, si aparece IIIII lo

reemplazamos por V 5. Volvemos a convertir a restas en los lugares donde sea necesario para respetar las reglas

de escritura antes descritas

Vamos a ver un ejemplo: 145 + 79. En números romanos: CXLV + LXXIX

1. CXLV pasa a CXXXXV. LXXIX pasa a LXXVIIII 2. Concatenamos: CXXXXVLXXVIIII 3. Ordenamos: CLXXXXXXVVIIII 4. Sumas: VV pasa a X. Queda CLXXXXXXXIIII. XXXXXXX pasa a LXX. Queda CLLXXIIII. Y

LL pasa a C. Queda CCXXIIII 5. Pasamos a restas en los lugares donde corresponda: IIII pasa a IV. Nos queda el resultado

deseado: CCXXIV = 224

Resta de números romanos

La resta de números romanos es algo más sencilla que la suma. Los pasos a seguir para A – B son los siguientes:

1. Convertimos las restas en sumas 2. Eliminamos los símbolos comunes a A y a B 3. Para el símbolo más grande que quede en B expandimos tomamos el primer símbolo de A

mayor que él y lo expandimos. Después volvemos a aplicar el paso 2.-. Hacemos esto las veces que sea necesario

4. Volvemos a pasar a restas donde sea necesario

Vamos con un ejemplo: 241 – 85. En números romanos: CCXLI – LXXXV

1. CCXLI pasa a CCXXXXI. LXXXV queda igual 2. Quitamos XXX de cada uno de ellos. Quedan CCXI y LV 3. Como L es el símbolo más grande del segundo número expandimos una C del primero

como LXXXXX. Quedan CLXXXXXXI y LV. Quitamos L de los dos y quedan CXXXXXXI y V. Como V es el único símbolo que queda expandimos una X del primero como VIIIII. Quedan CXXXXXVIIIIII y V. Quitamos V de los dos y nos queda CXXXXXIIIIII. Colocando el número siguiendo las reglas de escritura queda CLVI

4. En este caso no hace falta pasar a restas. El resultado es CLVI = 156

Page 13: Problemas de MatLab Para Examen

División de números romanos

Con la división de números romanos es con la operación con la que nos encontramos más problemas. Al parecer no existen reglas generales para poder realizarla. Simplemente nos queda restar el divisor al dividendo hasta que lleguemos a un número menor que el divisor. El número de veces que hayamos restado será el cociente de la división. Por ejemplo, para 23/5 quedaría:

23 – 5 = 18; 18 – 5 = 13; 13 – 5 = 8; 8 – 5 = 3 Resto = 3; Cociente = 4 (hemos restado 5 cuatro veces)

Otra opción que tenemos es buscar algún factor común a los dos números que queremos dividir. Así, antes de comenzar la división podemos simplificar los dos números por ese factor y las operaciones a realizar serán más sencillas al operar con números más pequeños. Pero de todas formas sigue siendo tedioso.

Este día se añade para corregir el desfase que existe con la duración real de los años: 365 días y 6 horas y 9min. Esto hace que se corrija cada cuatro años (los años múltiplos de cuatro) que se acumulan 24 horas. El calendario juliano consideraba bisiesto los años divisibles entre cuatro. Así el año juliano dura 365 días +1/4=365,25 días (más que el año trópico que dura 365,2422 días). La regla para los años bisiestos según el calendario gregoriano es:

Un año es bisiesto si es divisible por 4, excepto el último de cada siglo (aquel divisible por 100), salvo que este último sea divisible por 400.

Es decir los años que sean divisibles por 4 serán bisiestos; aunque no serán bisiestos si son divisibles entre 100 (como los años 1700, 1800, 1900 y 2100) a no ser que sean divisibles por 400 (como los años 1600, 2000 ó 2400). En 400 años debe haber 97 años bisiestos, de esa manera el año del calendario gregoriano se mantiene muy parecido al año solar. Así el año gregoriano dura 365 días +1/4 -1/100 +1/400 = 365,2425 días (más que el año trópico que dura 365,2422 días). En pseudocódigo: if año modulo 400 is 0 then año_bisiesto else if año modulo 100 is 0 then no_año_bisiesto else if año modulo 4 is 0 then año_bisiesto else no_año_bisiesto end En MATLAB sería: x=input('x: '); if rem(x,4)==0 && (rem(x,100)~=0 || rem(x,400)==0) disp('año bisiesto') else disp('año no bisiesto') end

Page 14: Problemas de MatLab Para Examen

Tipos de números

El estudio de ciertas propiedades que cumplen los números ha producido una enorme cantidad de tipos de números, la mayoría sin un interés matemático específico. A continuación se indican algunos:

Narcisista: Número de n dígitos que resulta ser igual a la suma de las potencias de orden n de sus dígitos. Ejemplo: 153 = 1³ + 5³ + 3³.

Omirp: Número primo que al invertir sus dígitos da otro número primo. Ejemplo : 1597 y 7951 son primos.

Vampiro: Número que se obtiene a partir del producto de dos números obtenidos a partir de sus dígitos. Ejemplo: 2187 = 27 x 81.

Tipos de números

Los números, esos fieles compañeros que nos acompañan en todos los momentos de nuestra vida. Conocemos muchos tipos de números, ya sea porque los usamos a diario o porque los hemos visto en algún documento libro (o, por qué no, en este blog): los naturales (0, 1, 2, 3,…), los enteros (…, -3, -2, -1, 0, 1, 2, 3,…), los racionales (todo número que puede ponerse en froma de fracción), los irracionales (todo número que no puede ponerse en forma de fracción), los reales (el conjunto de todos los anteriores), los complejos…

Pero podemos calificar a los números de muchas otras maneras. Hay muchas propiedades de los números que hacen que cuando alguno las cumple se le denomine de cierta forma. En este post vamos a ver unas cuantas:

Número primo: todo número natural mayor que 1 que cumple que sus únicos divisores son el 1 y el propio número. Ejemplos: 2, 3, 5,… Éste es el más grande que se conoce.

Número compuesto: todo número natural mayor que 1 que no es primo. Ejemplos: 4, 6, 10, …

Número primo probable: todo número del cual no se sabe si es primo o no pero que verifica alguna condición que verifican todos los números primos

Número pseudoprimo: todo primo probable que acaba siendo compuesto.

Número perfecto: todo número natural que es igual a la suma de sus divisores propios (es decir, todos sus divisores excepto el propio número). Por ejemplo, 6 es un número perfecto ya que sus divisores propios son 1, 2, y 3 y se cumple que 1+2+3=6. Los números 28, 496 y 8128 también son perfectos.

Número semiperfecto: todo número natural que cumple que es igual a la suma de algunos de sus divisores propios. Por ejemplo, 18 es semiperfecto ya que sus divisores son 1, 2, 3, 6, 9 y se cumple que 3+6+9=18.

12. Número abundante: todo número natural que cumple que la suma de sus divisores propios es mayor que el propio número. Por ejemplo, 12 es abundante ya que sus divisores son 1, 2, 3, 4 y 6 y se cumple que 1+2+3+4+6=16, que es mayor que el propio 12.

13. Número deficiente: todo número natural que cumple que la suma de sus divisores propios es menor que el propio número. Por ejemplo, 16 es un número deficiente ya que sus divisores propios son 1, 2, 4 y 8 y se cumple que 1+2+4+8=15, que es menor que 16.

Page 15: Problemas de MatLab Para Examen

14. Números amigos: parejas de números que cumplen que la suma de los divisores propios de cada uno de ellos da como resultado el otro número. Por ejemplo, 220 y 284 son números amigos.

15. Números sociables: cumplen lo mismo que los números amigos pero en vez de ir en parejas van en grupos más grandes. La suma de los divisores del primer número da el segundo, la suma de los del segundo da el tercero, y así sucesivamente. La suma de los divisores del último da el primer número de la lista. Por ejemplo los números 12496, 14288, 15472, 14536 y 14264 son números sociables.

16. Número apocalíptico: todo número natural n que cumple que 2n contiene la secuencia 666. Por ejemplo, los números 157 y 192 son números apocalípticos.

17. Número ambicioso: todo número que cumple que la secuencia que se forma al sumar sus divisores propios, después los divisores propios del resultado de esa suma, después los del número obtenido…acaba en un número perfecto. Por ejemplo, 25 es un aspiring number ya que sus divisores propios son 1 y 5 y se cumple que 1+5=6, que es un número perfecto.

18. Número curioso: todo número natural n que cumple que n2 tiene al propio n como última cifra. Por ejemplo, 25 y 36 son números curiosos.

19. Número de Carmichael: todo número compuesto n que cumpla que bn-1 ≡ 1 (mod (n)) (véase Congruencias) .para todo natural b que sea primo relativo con n. Por ejemplo, 561 y 1105 son números de Carmichael.

20. Cuadrado: todo número natural que es el cuadrado de otro número natural. Por ejemplo, 9 es un cuadrado ya que 9=32.

21. Cubo: todo número natural que es el cubo de otro número natural. Por ejemplo, 125 es un cubo ya que 125=53.

22. Número malvado: todo número natural cuya expresión en base 2 (binaria) contiene un número par de unos. Por ejemplo, y 15 son números malvados ya que 12=11002 y 15=11112.

23. Número feliz: todo número natural que cumple que si sumamos los cuadrados de sus dígitos y seguimos el proceso con los resultados obtenidos el resultado es 1. Por ejemplo, el número 203 es un número feliz ya que 22+02+32=13; 12+32=10; 12+02=1.

24. Número infeliz: todo número natural que no es un número feliz. Por ejemplo, el número 16 es un número infeliz.

25. Número hambriento: el k-ésimo número hambriento es el más pequeño número natural n que cumple que 2n contiene los primeros k dígitos de Pi. Los primeros números hambrientos son: 5, 17, 74, 144, 144, 2003,…

26. Número afortunado: Tomemos la secuencia de todos los naturales a partir del 1: 1, 2, 3, 4, 5,… Tachemos los que aparecen en las posiciones pares. Queda: 1, 3, 5, 7, 9, 11, 13,… Como el segundo número que ha quedado es el 3 tachemos todos los que aparecen en las posiciones múltiplo de 3. Queda: 1, 3, 7, 9, 13,… Como el siguiente número que quedó es el 7 tachamos ahora todos los que aparecen en las posiciones múltiplos de 7. Así sucesivamente. Los números que sobreviven se denominan números afortunados.

27. Número de Fermat: todo número natural de la forma 22n+1 para algún n. Si ese número resulta ser primo se denomina primo de Fermat.

28. Número de Mersenne: todo número natural de la forma 2p-1, siendo p un número primo. Si ese número resulta ser primo se denomina primo de Mersenne.

Page 16: Problemas de MatLab Para Examen

29. Número narcisista: todo número de k dígitos que cumple que es igual a la suma de las potencias k de sus dígitos es un número narceisita. Por ejemplo, 153 es un número narcisita de 3 dígitos, ya que 13+53+33=153.

30. Número odioso: todo número cuya expresión en base 2 (binaria) contiene un número impar de unos. Por ejemplo, 11=10112 es un número odioso.

31. Número palindrómico: número natural que se lee igual de derecha a izquierda y de izquierda a derecha. Por ejemplo 1348431.

32. Número poderoso: todo número natural n que cumple que si un primo p es un divisor suyo entonces p2 también lo es. Por ejemplo, el número 36 es un número poderoso ya que los únicos primos que son divisores suyos son 2 y 3 y se cumple que 4 y 9 también son divisores de 36.

33. Número oblongo: todo número natural que cumple que es el producto de dos naturales consecutivos. Por ejemplo, los números 30, 42 y 56 son pronic numbers:

34. Número repunit: todo número natural que está formado solamente por unos: 1, 11, 111, 1111,…

35. Número de Smith: todo número natural que cumple que la suma de sus dígitos es igual a la suma de los dígitos de sus divisores primos contando su multiplicidad (es decir, el número de veces que aparece cada uno de ellos). Por ejemplo, el número 27 es un número de Smith ya que 2+7=9 y su único divisor primo es 3, que aparece tres veces, y por tanto 3+3+3=9.

36. Número libre de cuadrados: todo número natural que cumple que en su descomposición en factores primos no aparece ningún factor repetido. Por ejemplo, el número 30 es un número libre de cuadrados.

37. Número ondulado: todo número natural de la forma ababab…. Por ejemplo, los números 121 y 13131 son números ondulados.

38. Número intocable: todo número natural que no es la suma de los divisores propios de ningún número. Por ejemplo, los número 52 y 88 son números intocables.

39. Número vampiro: todo número natural para el cual exista una factorización formada por lo dígitos del propio número. Por ejemplo, el número 126 es un número vampiro ya que lo podemos factorizar así: 126=21·6.

40. Número raro: todo número natural que es abundante pero que no es igual a la suma de ningún subconjunto de sus divisores propios. Por ejemplo, los número 70 y 836 son raros.

Page 17: Problemas de MatLab Para Examen

UNIVERSIDAD NACIONAL DEL CENTRO DEL PERU FACULTAD DE INGENIERIA QUIMICA

INSTITUTO DE INVESTIGACION

MATRIZ “BODAS DE ORO UNCP”

U.C.C.P - 16-12-1959 UNCP - 16-12-2009

8 11 30 1 29 2 7 12 3 32 9 6

10 5 4 31

1. FILAS

8 + 11 + 30 + 1 = 5029 + 2 + 7 + 12 = 503 + 32 + 9 + 6 = 50

10 + 5 + 4 + 31 = 50

2. COLUMNAS

8 + 29 + 3 + 10 = 5011 + 2 + 32 + 5 = 5030 + 7 + 9 + 4 = 501 + 12 + 6 + 31 = 50

3. DIAGONALES

8 + 2 + 9 + 31 = 501 + 7 + 32 + 10 = 50

4. NUMEROS EXTREMOS

8 + 1 + 31 + 10 = 50

5. NUMERO CENTRALES

2 + 7 + 9 + 32 = 50

6. NUMEROS CUADRANTES

8 + 11 + 2 + 29 = 5030 + 1 + 12 + 7 = 503 + 32 + 5 + 10 = 509 + 6 + 31 + 4 = 50

7. SEMICUADRANTES

11 + 30 + 7 + 2 = 5032 + 9 + 4 + 5 = 50

8. SEMIEXTREMOS

11 + 30 + 4 + 5 = 5029 + 12 + 6 + 3 = 508 + 1 + 12 + 29 = 503 + 6 + 31 + 10 = 50

9. OTROS SEMIEXTREMOS

8 + 29 + 9 + 4 = 5011 + 2 + 6 + 31 = 5030 + 7 + 3 + 10 = 501 + 12 + 32 + 5 = 508 + 30 + 9 + 3 = 50

29 + 7 + 4 + 10 = 502 + 12 + 31 + 5 = 50

Ing. Antonio Cochachi Guadalupe UNCP – FIQ 1960-1964 Referencia: Diario El Comercio

Page 18: Problemas de MatLab Para Examen