You are on page 1of 3

PROGRAMACION INGENIERIA DE SISTEMAS-UFPS

EJERCICIOS: ESTRUCTURAS DE CONTROL 1. Dados dos nmeros enteros llamados num y pos, obtener el dgito de num cuya posicicin es pos. Si pos es un nmero mayor que la cantidad de dgitos de num el programa debe regresar -1. Por ejemplo, dados num = 12345 y pos = 4, el programa regresa 2, pero si pos = 6, el programa regresa -1. Asuma que los dgitos de un nmero se enumeran de derecha a izquierda. No necesita calcular la cantidad de dgitos de num. 2. Modifique el programa anterior pero asuma que los dgitos se enumeran de izquierda a derecha. Usando los mismos ejemplos, el programa regresa 4 en el primer ejemplo y -1 en el segundo. 3. Dado un nmero elaborar un programa que regrese el nmero invertido. 4. Dado un nmero elaborar un programa que determine si el nmero es capica. Un nmero es capica si al invertir el orden de sus dgitos su valor numrico no se altera. 5. Un nmero es capica imperfecto cuando sus dgitos ms a la derecha son ceros y los dems dgitos, a la izquierda de los ceros, cumplen ser capicas. Por ejemplo 1210 es capica imperfecto, tambin lo son 4535400 y 13310000. Elabore un programa que determine si un nmero es capica imperfecto. 6. Un nmero es divisible por 11 si la diferencia entre la suma de las cifras de posicin impar y la suma de las cifras de posicin par es mltiplo de 11 o 0. Se cuentan las cifras desde 1 de derecha a izquierda. Elabore un programa que determine si un nmero es divisible por 11 usando ste teorema. Por ejemplo, el nmero 16841 es divisible por 11 porque (4 + 6) (1 + 8 + 1) = 0 Otro ejemplo: 52833 es divisible por 11 porque (3 + 8 + 5) - (3 + 2) = 11.

7. Si se toma un nmero y se calcula la sumatoria de sus dgitos el resultado puede ser un numro de 1 dgito o de varios dgitos. Cuando el resultado es slo un dgito, ste dgito se denomina el dgito representativo del nmero. Cuando el resultado es de varios dgitos, puede repetirse la suma hasta obtener slo un dgito. Elabora un programa que reciba un nmero y calcule su dgito representativo. Por ejemplo, para el nmero 126, su dgito representativo es 9 y para el nmero 127 la suma da 10, por lo que se repite el proceso obteniendo como dgito 1. 8. Dado un nmero entero cuyos dgitos son binarios (slo 0 o 1), elaborar un programa que obtenga
su valor decimal. Por ejemplo, si el nmero dado es 10101, el programa debe regresar

9. El algoritmo de Euclides, el primer algoritmo en la historia, para calcular el MCD de dos nmeros se
fundamenta en el teorema un nmero que divide al divisor y al residuo divide al dividendo . Por ejemplo, al calcular el MCD entre 26 y 14, el dividendo es 26 y el divisor es 14. El resultado de la divisin da por cociente 1 y residuo 12. Usando el teorema, se puede buscar el MCD entre el residuo 12 y el divisor 14. Ahora el resultado es cociente 1 y residuo 2, por lo que se aplica nuevamente el teorema y se calcula el MCD entre 12 y 2. Puesto que 2 divide de manera exacta a 12 entonces 2 es el MCD. La siguiente tabla resume el ejemplo:

Elabore un programa que determine el MCD de dos nmeros. Elabore un segundo programa que muestre en una Pantalla el procedimiento,

10. Utilizando System.out.print y System.out.println para imprimir, elabore un programa que imprima
la siguiente figura:

11. Elaborar un programa que cuente cuntos dgitos aparecen entre 1 y un nmero dado n. Por
ejemplo, dado el nmero 11, entre 1 y 11 aparecen 13 dgitos (1,2,3,4,5,6,7,8,9,10,11).

12. Elaborar un programa que obtenga la representacin en romano de un nmero entero.

13. Implemente una clase en Java de nombre Logaritmo neperiano donde sus miembros son un real x (nmero real entre -1 y 1), y un entero n que es un valor entero que indica el nmero de trminos a considerar en la Serie. Para Hallar el Logaritmo neperiano se utiliza la serie de Taylor :

Realice una clase PruebaLogaritmo que permita comprobar el resultado de los mtodos anteriormente implementados. Tome en cuenta que el mtodo que permite calcular el ln debe imprimir los resultados en cada intervalo; por ejemplo si n=4, imprimir el valor cuando k=1, 2,3 y 4 y finalmente su resultado. 14. Implemente una clase en Java de nombre Fecha; una fecha esta compuesta por un ao, da y un mes. La clase debe contar con los constructores respectivos y estos validar que un da corresponda a un mes dado(da = 30 y mes =2 dir error febrero no tiene da 30 ) as como su ao(en el caso de sea bisiesto), la clase Fecha debe permitir obtener el nombre de un mes (String). Realice todos los mtodos que considere necesarios para la correcta ejecucin del programa. Ud debe crear un clase TestFecha que permita(tomando en cuenta que estas operaciones se pueden realizar tantas veces como el usuario desee): Comparar Fechas: Ingresa dos fechas y las compara cual es menor con respecto a otra. Si es bisiesto : Ingresa una fecha e imprime si la fecha es de un ao bisiesto. Cuenta_das: Ingresa dos fechas e imprime la cantidad de das que existe de un Fecha a Otra. Salir. 15 . Disear una clase de nombre MathUfps con dos atributos enteros A y B y los siguientes mtodos(A parte de los constructores y mtodos de acceso get y actualizacin de miembros set ): MCD(Mximo comn divisor): Calcula el MCD de A y B. Imprimir_descomposicinA: Descompone A en sus factores primos. Imprimir_descomposicinB: Descompone B en sus factores primos. Imprimir_divisin(int cifras_decimales): Calcule el cociente y el resto de la divisin de A / B e imprime los decimales segn el valor cifras_decimales. EsperfectoA: Devuelve true si A es un nmero perfecto(nmero perfecto aquellos donde la suma de sus divisores excluido el mismo es igual al dato, por ejemplo el nmero 6)o false o caso contrario. EsperfectoB: Devuelve true si B es un nmero perfecto(nmero perfecto aquellos donde la suma de sus divisores excluido el mismo es igual al dato, por ejemplo el nmero 6) o false en caso contrario.

You might also like