Você está na página 1de 5

1.1. Imprimir por pantalla: 1 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla la frase H o l a , y a s e imprimir frases. 2 .

E j e r c i c i o : Escribir un programa en Java que imprima por pantalla un nmero entero, p o r ejemplo el 273, o el 597. 3 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla un nmero d e c i m a l , p o r ejemplo el 53, el 75. 1.2. Operaciones bsicas y bucles: 4 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla la suma de 1234 y 532. 5 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla la resta de 1234 y 532. 6 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla la multiplicacin de 1234 y532. 7 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla la divisin de 1234 entre532. 8 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla los nmeros del 1 al 3. 9 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla los nmeros del 1 al 9. 1 0 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla los nmeros del 1 al 10.000.Conveniente usar bucles. 1 1. E jer ci ci o: Escribir un programa en Java que imprima por pantalla los nmeros del 5 al 10. 1 2 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla los nmeros del 5 al 15. 1 3 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla los nmeros del 5 al 15.000.Conveniente usar bucles. 1 4 . E j e r c i c i o : Escribir un programa en Java que imprima 200 veces la palabra hola. Nota: en elcdigo fuente que usted escriba debe figurar solamente una vez la palabra hola. 1 5 . E j e r c i c i o : Escribir un programa en Java que imprima por pantalla los cuadrados de l o s 3 0 primeros nmeros naturales. 1 6 . E j e r c i c i o : Escribir un programa en Java que multiplique los 20 primeros nmero n a t u r a l e s (1*2*3*4*5). 1 7 . E j e r c i c i o : Escribir un programa en Java que sume los cuadrados de los cien primeros nmerosnaturales, mostrando el resultado en pantalla.

1.3.Leer desde el teclado. Sentencia de condicin (if): 1 8 . E j e r c i c i o : Escribir un programa en Java que lea un nmero entero desde teclado y realiza lasuma de los 100 nmero siguientes, mostrando el resultado en pantalla. 1 9 . E j e r c i c i o : Escribir un programa en Java que convierta de euros a dlares. Recibir un nmerod e c i m a l c o r r e s p o n d i e n t e a l a c a n t i d a d e n e u r o s y c o n t e s t a r c o n l a c a n t i d a d correspondiente en dolares. 2 0 . E j e r c i c i o : Escribir un programa en Java que calcule el rea de un rectngulo del c u a l s e l e proporcionar por el teclado su altura y anchura (nmeros decimales). 2 1 . E j e r c i c i o : Escribir un programa en Java que lea dos nmeros del teclado y diga c u a l e s e l mayor y cual el menor. 2 2 . E j e r c i c i o : Escribir un programa en Java que lea un nmero entero por el teclado e i m p r i m a todos los nmero impares menores que l. 2 3 . E j e r c i c i o : Implemente el algoritmo de Euclides para encontrar el gcd de dos nmero ledosdesde teclado. 2 4 . E j e r c i c i o : Escriba un programa que lea los coeficientes a, b y c de una ecuacin de segundo, ye s t u d i e si tiene o no solucin. En caso positivo, las soluciones se c a l c u l a r n e imprimirn en pantalla. 2 5 . E j e r c i c i o : Pruebe la recursividad en Java. Escriba programas que calculen recursivamente lasfunciones f actorial(n) y Ackermann(x, y). 2 6 . E j e r c i c i o : Escriba un programa que lea tres nmeros enteros positivos, y que calcule e imprimaen pantalla el menor y el mayor de todos ellos. 2 7 . E j e r c i c i o : Escriba un programa que lea temperaturas expresadas en grados Fahrenheit y lasconvierta a grados Celsius mostrndola. El programa finalizar cuando lea un valor de temperatura igual a 999. La conversin de grados Farenheit (F) a Celsius (C) estdada por C = 5/9(F 32). 2 8 . E j e r c i c i o : Implemente una sentencia switch que escriba un mensaje en cada caso. Inclyala en bucle de prueba for. Utilice tambin un break tras cada caso y prubelo. Elimine el break y vea qu ocurre. 2 9 . E j e r c i c i o : Cuando se lee una entrada estndar, por lo general se alcanza el fin de a r c h i v o cuando el usuario teclea CRTL-D, CRTL-Z, o algn otro carcter dependiente delsistema. Descubra cul es el adecuado en su sistema. Escriba un programa que leadatos controlando el fin de la secuencia con la combinacin adecuada. 3 0 . E j e r c i c i o : Escriba un programa que use dos bucles for anidados y el operador de mdulo (%) para detectar e imprimir nmeros primos.

1.4.Orientacin a Objetos: 3 1 . E j e r c i c i o : Desarrolle una clase en Java que realice la abstraccin de un sistema planetario,d e b i e n d o t e n e r e n c u e n t a p a r a c a d a c u e r p o d e l s i s t e m a a s p e c t o s c o m o : m a s a , densidad, dimetro, distancia al sol (suponga r b i t a s c i r c u l a r e s ) , u n n m e r o d e identificador nico y un nombre textual. Incluya mtodos que calculen la atraccingravitatoria entre dos cuerpos cualesquiera del sistema. 3 2 . E j e r c i c i o : Es posible ejecutar un programa en java que contenga varias clases con mtodosmain? En caso positivo, cmo se determina el punto de entrada a un programa? 3 3 . E j e r c i c i o : Escriba un programa en java que genere aleatoriamente (Ayuda: Vea la clase Math para saber cmo generar nmeros aleatorios en java) un array de nmeros reales, yl o o r d e n e m e d i a n t e e l a l g o r i t m o d e l a b u r b u j a o m e d i a n t e q u i c k s o r t ( e s t o d e b e r poder elegirlo el usuario). 3 4 . E j e r c i c i o : Se quiere implementar el control de un Ferry. Para ello cree una clase Vehculo.I n c l u y a a s p e c t o s c o m u n e s a t o d o s l o s v e h c u l o s c o m o n m e r o d e p a s a j e r o s , presencia o ausencia de tripulacin, nmero de rued a s , f e c h a d e m a t r i c u l a c i n , medio por el que se desplaza, etc. Incluya los mtodos que considere oportunos.Realice un programa capaz de leer por teclado los datos de 10 vehculos y los liste acontinuacin por pantalla. 1.5.Herencia: 3 5 . E j e r c i c i o : A partir de la clase anterior, y mediante herencia cree nuevas clases que permitandiferenciar si el objeto es un coche, una moto, un camin, una bicicleta, una lancha.Incluya en cada clase algn atributo especfico que la diferencie de las dems. Por ejemplo, para el coche un booleano que determine si es de tres o cinco puertas, parael camin la altura (indiferente en los otros vehculos), etc.R e a l i c e u n p r o g r a m a c o m o e l d e l e j e r c i c i o a n t e r i o r c a p a z d e t r a b a j a r c o n l o s distintos tipos de vehculos. 3 6 . E j e r c i c i o : Una interesante clase predefinida en el lenguaje java es la clase V e c t o r , q u e implemente la abstraccin "array dinmico". Revise la clase y sela (en ficherosd i f e r e n t e s ) p a r a r e a l i z a r u n p r o g r a m a q u e l e a n m e r o s d e l t e c l a d o h a s t a q u e s e introduce dos veces seguidas el mismo nmero. Entonces el programa muestra todoslos nmeros introducidos y termina. 1.6.Concurrencia. Hilos: 3 7 . E j e r c i c i o : Desarrolle un programa en Java que implemente el primer paso del refinamientos u c e s i v o q u e c o n d u c e a l a l g o r i t m o d e D e k k e r ( v a r i a b l e de turno semforo). Habilite una variable de turno compartida por dos hilos, creee s t o s u t i l i z a n d o e l m t o d o d e h e r e n c i a d e l a c l a s e T h r e a d , y o b s e r v e e l comportamiento obtenido. La seccin crt i c a d e c a d a h i l o s e r o t r a v a r i a b l e compartida que se incrementar en uno, imprimindose su valor. 3 8 . E j e r c i c i o : El planetaWa-Tor es un mundo acutico, toroidal y reticulado de dimensin 20x20.E s t e m u n d o e s t h a b i t a d o p o r p e c e s y t i b u r o n e s d e a m b o s s e

x o s . E s c r i b a u n programa en java que inicialmente site en forma aleatoria 100 peces (50 machos y50 hembras) y 10 tiburones (5 machos y 5 hembras) en el planeta de manera que: Cada habitante del mundo (pez o tiburn) est representad o p o r u n h i l o concurrente. Cada habitante del mundo nada desde la posicin en que se e n c u e n t r a u n a posicin hacia el norte, sur, este u oeste (recuerde que el mundo es un toroide). Si habitantes del mundo se encuentran en la misma posicin ocurre lo siguiente:a) si son del mismo sexo y de la misma especie, uno aniquila al otro. b) si son de especies diferentes, el tiburn siempre aniquila al pez.c) si son de la misma especie y de distinto sexo, se reproducen, generando un nuevoindividuo cuyo sexo ser macho o hembra con igual probabilidad, y luego continansu camino. 3 9 . E j e r c i c i o : Utilizando mtodos synchronized, disee un protocolo de exclusin mutua para nhilos concurrentes. El nmero de hilos ser un argumento pasado desde la lnea decomandos, y la seccin crtica de cada hilo ser una variable compartida por todosellos, que se incrementar en uno. 4 0 . E j e r c i c i o : Utilizando una clase vaca, construya un protocolo de exclusin mutua para n hilosc o n c u r r e n t e s . E l n m e r o d e h i l o s s e r u n a r g u m e n t o p a s a d o d e s d e l a l n e a d e comandos, y la seccin crtica de cada hilo ser una variable compartida por todosellos, que se incrementar en uno. No utilice mtodo globalmente definidos comos y n c h r o n i z e d . E n s u l u g a r , u t i l i c e u n a i n s t a n c i a d e l a c l a s e v a c a p r e viamentedefinida como cerrojo que bloquee nicamente el acceso en e x c l u s i n m u t a a l a seccin crtica. 4 1 . E j e r c i c i o : De acuerdo con las convenciones del ejercicio anterior, escriba un programa en Javaq u e l a n c e n h i l o s c o n c u r r e n t e s ( p a s a n d o n c o m o a r g u m e n t o d e s d e l a l n e a d e comandos). Cada hilo ejecutar un bucle de 100 iteraciones. Cada paso por el bucledebe tener una seccin crtica en la cual realizar las siguiente acciones:a) Incremento de un contador comn a todos los hilos. b) Escritura del valor del contador en un fichero externo de texto,llamado Numeros.txt Investigue por su cuenta el funcionamiento de las clases FileInputStream y FileOutputStream, que pueden serle tiles para este propsito. 4 2 . E j e r c i c i o : Utilizando mtodos wait, notify y notifyAll , disee un protocolo de sincronizacinentre dos hilos concurrentes. 4 3 . E j e r c i c i o : Utilice varios hilos concurrentes para encontrar el valor mximo de un array de 100nmeros enteros generados aleatoriamente. Cada hilo investigar un subarray de 10u n i d a d e s , y e l programa principal deber coordinarse con ellos, para extraer las o l u c i n f i n a l d e l a s s o l u c i o n e s p a r c i a l e s . P r o v e a l a e x c l u s i n m u t u a y l a sincronizacin que considere necesarias. 4 4 . E j e r c i c i o : Otro de los problemas clsicos de la comunicacin entre procesos ocurre e n u n a peluquera. La peluquera tiene un barbero, una silla de peluquero y n sillas para que se sienten los clientes en espera, si es que los hay. Si no hay clientes presentes, el barbero se sienta en su silla de peluquero y se duerme. Cuando llega un cliente, ste debe despertar al barbero dormiln. Si llegan ms clientes mientras el barbero corta e l c a b e l l o d e

u n c l i e n t e , e l l o s s e s i e n t a n ( s i h a y s i l l a s d e s o c u p a d a s ) . E s c r i b a u n monitor en java que permita modelar el problema. 4 5 . E j e r c i c i o : El propsito del ejercicio es la construccin de un servidor remoto de operaciones sobre vectores reales. En particular el servidor debe poder sumar y restar vectores, r e a l i z a r e l p r o d u c t o e s c a l a r y e l e s c a l a d o d e u n v e c t o r p o r u n f a c t o r r e a l . D e b e tambin comprobar la ortogonalidad entre dos vectores. Para ello, el alumno debe: a) Disear un fichero de interfaz (llamado IVector.java) que implante la interfaz javanecesaria. b ) E s c r i b a e l f i c h e r o q u e r e a l i c e l a i m p l e m e n t a c i n d e l f i c h e r o d e interfaz.(ImpVector.java)c ) E s c r i b a u n servidor que lance tres hilos concurrentes, cada uno de los cuales registre un objeto servidor con un nombre diferente pero sobre el mismo p u e r t o . (servidor.java)d) Obtenga los ficheros de stub y skeleton correspondientes, y realice el registro delos servicios.e) Confeccione un cliente que cree varios hilos concurrentes. Cada hilo debe obtener una referencia a un objeto servidor, y enviarle peticiones de trabajo. (cliente.java)

Você também pode gostar