1. Descripción
3. Libro
- Tema 01 | Salida de datos por pantalla
- Tema 02 | Variables
- Tema 03 | Lectura de datos desde teclado
- Tema 04 | Sentencia condicional
- Tema 05 | Bucles
- Tema 06 | Números aleatorios
- Tema 07 | Arrays
Solución a los ejercicios del libro Aprende Java con Ejercicios para la asignatura de Programación en el CFGS de DAW (Desarrollo de Aplicaciones Web) en @IESCampanillas.
Para compilar el programa, teclea lo siguiente (es necesario tener el JDK):
javac *NombreDelPrograma*.java
Y para ejecutarlo:
java *NombreDelPrograma*
El libro utilizado en la asignatura es Aprende Java con Ejercicios
Ir a TEMA_01
1. Escribe una programa que muestre tu nombre por pantalla.
2. Modifica el programa anterior para que además se muestre tu dirección y tu número de teléfono.
3. Escribe un programa que muestre por pantalla 10 palabras en inglés junto a su correspondiente traducción al castellano. Las palabras deben estar
distribuidas en dos columnas y alineadas a la izquierda.
4. Escribe un programa que muestre tu horario de clase.
5. Modifica el programa anterior añadiendo colores.
6. Escribe un programa que pinte por pantalla una pirámide rellena a base de asteriscos. La base de la pirámide debe estar formada por 9 asteriscos.
7. Igual que el programa anterior, pero esta vez la pirámide estará hueca.
8. Igual que el programa anterior, pero esta vez la pirámide debe aparecer invertida.
9. Escribe un programa que pinte por pantalla alguna escena con caracteres ASCII.
Ir a TEMA_02
1. Escribe un programa en el que se declaren las variables enteras x e y. Asignales los valores 144 y 999 respectivamente. A continuación, muestra por pantalla el valor de cada variable, la suma, la resta, la división y la multiplicación.
2. Crea la variable nombre y asígnale tu nombre completo. Muestra su valor por pantalla.
3. Crea las variables nombre, direccion y telefono y asígnale los valores correspondientes. Muestra los valores de esas variables por pantalla.
4. Realiza un conversor de euros a pesetas.
5. Realiza un conversor de pesetas a euros. La cantidad en pesetas que se quiere convertir deberá estar almacenada en una variable.
6.Escribe un programa que calcule el total de una factura a partir de la base imponible (precio sin IVA). La base imponible estará almacenada en una variable.
Ir a TEMA_03
01. Realiza un programa que pida dos números y que luego muestre el resultado
de su multiplicación.
02. Realiza un conversor de euros a pesetas. La cantidad de euros que se quiere convertir debe ser introducida por teclado.
03. Realiza un conversor de pesetas a euros. La cantidad de pesetas que se quiere convertir debe ser introducida por teclado.
04. Escribe un programa que sume, reste, multiplique y divida dos números introducidos por teclado.
05. Escribe un programa que calcule el área de un rectángulo.
06. Escribe un programa que calcule el área de un triángulo.
07. Escribe un programa que calcule el total de una factura a partir de la base imponible.
08. Escribe un programa que calcule el salario semanal de un empleado en base a las horas trabajadas, a razón de 12 euros la hora.
09. Escribe un programa que calcule el volumen de un cono.
10. Realiza un conversor de Mb a Kb.
11. Realiza un conversor de Kb a Mb.
12. Realiza un programa que calcule la nota que hace falta sacar en el segundo examen de la asignatura Programación para obtener la media deseada. Hay que tener en cuenta que la nota del primer examen cuenta el 40% y la del segundo examen un 60%.
Ir a TEMA_04
01. Escribe un programa que pida por teclado un día de la semana y que diga qué asignatura toca a primera hora ese día.
02. Realiza un programa que pida una hora por teclado y que muestre luego buenos días, buenas tardes o buenas noches según la hora.
03. Escribe un programa en que dado un número del 1 a 7 escriba el correspondiente nombre del día de la semana.
04. Escribe un programa que calcule el salario semanal de un trabajador teniendo en cuenta que las horas ordinarias se pagan a 12 euros la hora.
A partir de la hora 41, se pagan a 16 euros la hora.
05. Realiza un programa que resuelva una ecuación de primer grado
06. Realiza un programa que calcule el tiempo que tardará en caer un objeto desde una altura h.
07. Realiza un programa que calcule la media de tres notas.
08. Amplía el programa anterior para que diga la nota del boletín.
09. Realiza un programa que resuelva una ecuación de segundo grado.
10. Escribe un programa que nos diga el horóscopo a partir del día y el mes de nacimiento.
11. Escribe un programa que dada una hora determinada (horas y minutos), calcule los segundos que faltan para llegar a la medianoche.
12. Realiza un minicuestionario con 10 preguntas tipo test sobre las asignaturas que se imparten en el curso. Cada pregunta acertada sumará un punto. El
programa mostrará al final la calificación obtenida.
13. Escribe un programa que ordene tres números enteros introducidos por teclado.
14. Realiza un programa que diga si un número introducido por teclado es par y/o divisible entre 5.
15. Escribe un programa que pinte una pirámide rellena con un carácter introducido por teclado que podrá ser una letra, un número o un símbolo. El programa debe permitir al usuario mediante un menú elegir si el vértice de la pirámide está apuntando hacia arriba, hacia abajo, hacia la
izquierda o hacia la derecha.
16. Test de infidelidad. El programa irá haciendo preguntas que el usuario contestará con verdadero o falso. Cada pregunta contestada como verdadero sumará 3 puntos.
17. Escribe un programa que diga cuál es la última cifra de un número entero introducido por teclado.
18. Escribe un programa que diga cuál es la primera cifra de un número entero introducido por teclado. Se permiten números de hasta 5 cifras.
19. Realiza un programa que nos diga cuántos dígitos tiene un número entero que puede ser positivo o negativo. Se permiten números de hasta 5 dígitos.
20. Realiza un programa que diga si un número entero positivo introducido por teclado es capicúa. Se permiten números de hasta 5 cifras.
21. Calcula la nota de un trimestre de la asignatura Programación. El programa pedirá las dos notas que ha sacado el alumno en los dos primeros controles.
Si la media de los dos controles da un número mayor o igual a 5, el alumno está aprobado y se mostrará la media. En caso de que la media sea un número menor que 5, el alumno habrá tenido que hacer el examen de recuperación que se califica como apto o no apto, si el resultado de la recuperación es apto, la nota será un 5; en caso contrario, se mantiene la nota media anterior.
22. Realiza un programa que, dado un día de la semana y una hora, calcule cuántos minutos faltan para el fin de semana. Se considerará que el fin de semana comienza el viernes a las 15:00h. Se da por hecho que el usuario introducirá un día y hora correctos.
23. Escribe un programa que calcule el precio final de un producto según su base imponible (precio antes de impuestos), el tipo de IVA aplicado (general,
reducido o superreducido) y el código promocional. Los tipos de IVA general, reducido y superreducido son del 21%, 10% y 4% respectivamente. Los códigos promocionales pueden ser nopro, mitad, meno5 o 5porc.
24. Escribe un programa que genere la nómina (bien desglosada) de un empleado según las condiciones determinadas.
Ir a TEMA_05
01. Muestra los números múltiplos de 5 de 0 a 100 utilizando un bucle for.
02. Muestra los números múltiplos de 5 de 0 a 100 utilizando un bucle while.
03. Muestra los números múltiplos de 5 de 0 a 100 utilizando un bucle do-while.
04. Muestra los números del 320 al 160, contando de 20 en 20 hacia atrás utilizando un bucle for.
05. Muestra los números del 320 al 160, contando de 20 en 20 hacia atrás utilizando un bucle while.
06. Muestra los números del 320 al 160, contando de 20 en 20 hacia atrás utilizando un bucle do-while.
07. Realiza el control de acceso a una caja fuerte. La combinación será un número de 4 cifras. El programa nos pedirá la combinación para abrirla.
08. Muestra la tabla de multiplicar de un número introducido por teclado.
09. Realiza un programa que nos diga cuántos dígitos tiene un número introducido por teclado.
10. Escribe un programa que calcule la media de un conjunto de números positivos introducidos por teclado.
11. Escribe un programa que muestre en tres columnas, el cuadrado y el cubo de los 5 primeros números enteros a partir de uno que se introduce por teclado.
12. Escribe un programa que muestre los n primeros términos de la serie de Fibonacci.
13. Escribe un programa que lea una lista de diez números y determine cuántos son positivos, y cuántos son negativos.
14. Escribe un programa que pida una base y un exponente (entero positivo) y que calcule la potencia.
15. Escribe un programa que dados dos números, uno real (base) y un entero positivo (exponente), saque por pantalla todas las potencias con base el numero dado y exponentes entre uno y el exponente introducido.
16. Escribe un programa que diga si un número introducido por teclado es o no primo.
17. Realiza un programa que sume los 100 números siguientes a un número entero y positivo introducido por teclado.
18. Escribe un programa que obtenga los números enteros comprendidos entre dos números introducidos por teclado y validados como distintos, el programa debe empezar por el menor de los enteros introducidos e ir incrementando de 7 en 7.
19. Realiza un programa que pinte una pirámide por pantalla. La altura y el caracter con el que se pinta, se deben pedir por teclado.
20. Igual que el ejercicio anterior pero esta vez se debe pintar una pirámide hueca.
21. Realiza un programa que vaya pidiendo números hasta que se introduzca un numero negativo y nos diga cuantos números se han introducido, la media de los impares y el mayor de los pares.
22. Muestra por pantalla todos los números primos entre 2 y 100, ambos incluidos.
23. Escribe un programa que permita ir introduciendo una serie indeterminada de números mientras su suma no supere el valor 10000. Cuando esto último ocurra, se debe mostrar el total acumulado, el contador de los números introducidos y la media.
24. Pirámide con números.
25. Realiza un programa que pida un número por teclado y que luego muestre ese número al revés.
26. Realiza un programa que pida primero un número y a continuación un dígito. El programa nos debe dar la posición (o posiciones) contando de izquierda a derecha que ocupa ese dígito en el número introducido.
27. Escribe un programa que muestre, cuente y sume los múltiplos de 3 que hay entre 1 y un número leído por teclado.
28. Escribe un programa que calcule el factorial de un número entero leído por teclado.
29. Escribe un programa que muestre por pantalla todos los números enteros positivos menores a uno leído por teclado que no sean divisibles entre otro también leído de igual forma.
30. Realiza una programa que calcule las horas transcurridas entre dos horas de dos días de la semana. No se tendrán en cuenta los minutos ni los segundos.
31. Realiza un programa que pinte la letra L por pantalla hecha con asteriscos.
32. Escribe un programa que, dado un número entero, diga cuáles son y cuánto suman los dígitos pares. Los dígitos pares se deben mostrar en orden, de izquierda a derecha.
33. Realiza un programa que pinte la letra U por pantalla hecha con asteriscos.
34. Escribe un programa que pida dos números por teclado y que luego mezcle en dos números diferentes los dígitos pares y los impares. Se van comprobando los dígitos de la siguiente manera: primer dígito del primer número, primer dígito del segundo número, segundo dígito del primer número, segundo dígito del segundo número, tercer dígito del primer número…
35. Realiza un programa que pinte una X hecha de asteriscos.
36. Escribe un programa que diga si un número introducido por teclado es o no capicúa.
37. Realiza un conversor del sistema decimal al sistema de “palotes”.
38. Realiza un programa que pinte un reloj de arena relleno hecho de asteriscos. El programa debe pedir la altura.
39. Escribe un programa que pida un número entero positivo por teclado y que muestre a continuación los números desde el 1 al número introducido junto con su factorial.
40. Realiza un programa que pinte por pantalla un rombo hueco hecho con asteriscos.
41. Escribe un programa que diga cuántos dígitos pares y cuántos dígitos impares hay dentro de un número.
42. Escribe un programa que pida un número entero positivo por teclado y que muestre a continuación los 5 números consecutivos a partir del número introducido. Al lado de cada número se debe indicar si se trata de un primo o no.
43. Escribe un programa que permita partir un número introducido por teclado en dos partes. Las posiciones se cuentan de izquierda a derecha empezando por el 1.
44. Escribe un programa que sea capaz de insertar un dígito dentro de un número indicando la posición. El nuevo dígito se colocará en la posición indicada y el resto de dígitos se desplazará hacia la derecha.
45. Escribe un programa que cambie un dígito dentro de un número dando la posición y el valor nuevo. Las posiciones se cuentan de izquierda a derecha empezando por el 1.
46. Realiza un programa que pinte por pantalla un rectángulo hueco hecho con asteriscos. Se debe pedir al usuario la anchura y la altura. Hay que comprobar que tanto la anchura como la altura sean mayores o iguales que 2, en caso contrario se debe mostrar un mensaje de error.
Ir a TEMA_06
01. Escribe un programa que muestre la tirada de tres dados. Se debe mostrar también la suma total (los puntos que suman entre los tres dados).
02. Realiza un programa que muestre al azar el nombre de una carta de la baraja francesa.
03. Igual que el ejercicio anterior pero con la baraja española.
04. Muestra 20 números enteros aleatorios entre 0 y 10 (ambos incluidos) separados por espacios.
05. Muestra 50 números enteros aleatorios entre 100 y 199 (ambos incluidos) separados por espacios. Muestra también el máximo, el mínimo y la media de esos números.
06. Escribe un programa que piense un número al azar entre 0 y 100. El usuario debe adivinarlo y tiene para ello 5 oportunidades. Después de cada intento fallido, el programa dirá cuántas oportunidades quedan y si el número introducido es menor o mayor que el número secreto.
07. Escribe un programa que muestre tres apuestas de la quiniela en tres columnas para los 14 partidos y el pleno al quince (15 filas).
08. Modifica el programa anterior para que la probabilidad de que salga un 1 sea de 1/2, la probabilidad de que salga x sea de 1/3 y la probabilidad de que salga 2 sea de 1/6.
09. Realiza un programa que vaya generando números aleatorios pares entre 0 y 100 y que no termine de generar números hasta que no saque el 24. El programa deberá decir al final cuántos números se han generado.
10. Realiza un programa que pinte por pantalla diez líneas formadas por caracteres. El carácter con el que se pinta cada línea se elige de forma aleatoria
entre uno de los dados. Las líneas deben tener una longitud aleatoria entre 1 y 40 caracteres.
11. Escribe un programa que muestre 20 notas generadas al azar. Las notas deben aparecer de la forma: suspenso, suficiente, bien, notable o sobresaliente. Al final aparecerá el número de suspensos, el número de suficientes, el número de bienes, etc.
12. Realiza un programa que llene la pantalla de caracteres aleatorios (a lo Matrix) con el código ascii entre el 32 y el 126. Puedes hacer casting con (char) para convertir un entero en un carácter.
13. Escribe un programa que simule la tirada de dos dados. El programa deberá continuar tirando los dados una y otra vez hasta que en alguna tirada los dos dados tengan el mismo valor.
14. Realiza un programa que haga justo lo contrario a lo que hace el ejercicio 6. El programa intentará adivinar el número que estás pensando - un número entre 0 y 100 - teniendo para ello 5 oportunidades. En cada intento fallido, el programa debe preguntar si el número que estás pensando es mayor o menor que el que te acaba de decir.
15. Realiza un generador de melodía.
16. Realiza un simulador de máquina tragaperras simplificada.
17. Realiza un programa que pinte por pantalla una pecera con un pececito dentro.
18. Realiza un programa que genere de forma aleatoria una secuencia de tres colores aleatorios (uno para cada dormitorio) de tal forma que no se repita ninguno. Los colores entre los que debe elegir el programa son los siguientes: rojo, azul, verde, amarillo, violeta y naranja.
19. Escribe un programa que muestre 50 números enteros aleatorios comprendidos entre el -100 y el 200 ambos incluidos y separados por espacios. Muestra luego el máximo de los pares el mínimo de los impares y la media de todos los números generados.
20. Realiza un programa que pinte por pantalla una cuba con cierta cantidad de agua. La capacidad será indicada por el usuario. La cuba se llenará con una cantidad aleatoria de agua que puede ir entre 0 y la capacidad máxima que pueda admitir. El ancho de la cuba no varía.
21. Realiza un programa que genere una secuencia de cinco monedas de curso legal lanzadas al aire.
22. Realiza un programa que pinte por pantalla una serpiente con un “serpenteo” aleatorio.
23. Las caras de un dado de poker tienen las siguientes figuras: As, K, Q, J, 7 y 8. Escribe un programa que genere de forma aleatoria la tirada de cinco dados.
24. Escribe un programa que, dado un número introducido por teclado, elija al azar uno de sus dígitos.
25. Escribe un programa que muestre por pantalla 100 números enteros separados por un espacio. Los números deben estar generados de forma aleatoria en un rango entre 10 y 200 ambos incluidos. Los primos deben aparecer entre almohadillas y los múltiplos de 5 entre corchetes.
Ir a TEMA_07
1. Define un array de 12 números enteros con nombre num y asigna los valores según la tabla que se muestra a continuación. Muestra el contenido de todos los elementos del array.
2. Define un array de 10 caracteres con nombre simbolo y asigna valores a los elementos según la tabla que se muestra a continuación. Muestra el contenido de todos los elementos del array.
3. Escribe un programa que lea 10 números por teclado y que luego los muestre en orden inverso, es decir, el primero que se introduce es el último en mostrarse y viceversa.
4. Define tres arrays de 20 números enteros cada una, con nombres numero, cuadrado y cubo. Carga el array numero con valores aleatorios entre 0 y 100. En el array cuadrado se deben almacenar los cuadrados de los valores que hay en el array numero. En el array cubo se deben almacenar los cubos de los valores que hay en numero. A continuación, muestra el contenido de los tres arrays dispuesto en tres columnas.
5. Escribe un programa que pida 10 números por teclado y que luego muestre los números introducidos junto con las palabras “máximo” y “mínimo” al lado del máximo y del mínimo respectivamente.
6. Escribe un programa que lea 15 números por teclado y que los almacene en un array. Rota los elementos de ese array, es decir, el elemento de la posición 0 debe pasar a la posición 1, el de la 1 a la 2, etc. El número que se encuentra en la última posición debe pasar a la posición 0. Finalmente, muestra el contenido del array.
7. Escribe un programa que genere 100 números aleatorios del 0 al 20 y que los muestre por pantalla separados por espacios. El programa pedirá entonces por teclado dos valores y a continuación cambiará todas las ocurrencias del primer valor por el segundo en la lista generada anteriormente. Los números que se han cambiado deben aparecer entrecomillados.
8. Realiza un programa que pida la temperatura media que ha hecho en cada mes de un determinado año y que muestre a continuación un diagrama de barras horizontales con esos datos.
9. Realiza un programa que pida 8 números enteros y que luego muestre esos números junto con la palabra “par” o “impar” según proceda.
10. Escribe un programa que genere 20 números enteros aleatorios entre 0 y 100 y que los almacene en un array. El programa debe ser capaz de pasar todos los números pares a las primeras posiciones del array (del 0 en adelante) y todos los números impares a las celdas restantes.
11. Realiza un programa que pida 10 números por teclado y que los almacene en un array. A continuación se mostrará el contenido de ese array junto al índice
(0 – 9) utilizando para ello una tabla. Seguidamente el programa pasará los primos a las primeras posiciones, desplazando el resto de números (los que no son primos) de tal forma que no se pierda ninguno.
12. Realiza un programa que pida 10 números por teclado y que los almacene en un array. A continuación se mostrará el contenido de ese array junto al índice
(0 – 9). Seguidamente el programa pedirá dos posiciones a las que llamaremos “inicial” y “final”. Se debe comprobar que inicial es menor que final y que ambos números están entre 0 y 9. El programa deberá colocar el número de la posición inicial en la posición final, rotando el resto de números para que no se pierda ninguno.
13. Escribe un programa que rellene un array de 100 elementos con números enteros aleatorios comprendidos entre 0 y 500 (ambos incluidos). A continuación el programa mostrará el array y preguntará si el usuario quiere destacar el máximo o el mínimo. Seguidamente se volverá a mostrar el array escribiendo el número destacado entre dobles asteriscos.
14. Escribe un programa que pida 8 palabras y las almacene en un array. A continuación, las palabras correspondientes a colores se deben almacenar al comienzo y las que no son colores a continuación. Puedes utilizar tantos arrays auxiliares como quieras. Los colores que conoce el programa deben estar en otro array y son los siguientes: verde, rojo, azul, amarillo, naranja, rosa, negro, blanco y morado.
15. Un restaurante nos ha encargado una aplicación para colocar a los clientes en sus mesas. En una mesa se pueden sentar de 0 (mesa vacía) a 4 comensales (mesa llena). Cuando llega un cliente se le pregunta cuántos son. De momento el programa no está preparado para colocar a grupos mayores a 4, por tanto, si un cliente dice por ejemplo que son un grupo de 6, el programa dará el mensaje. Para el grupo que llega, se busca siempre la primera mesa libre (con 0 personas). Si no quedan mesas libres, se busca donde haya un hueco para todo el grupo, por ejemplo si el grupo es de dos personas, se podrá colocar donde haya una o dos personas. Inicialmente, las mesas se cargan con valores aleatorios entre 0 y 4. Cada vez que se sientan nuevos clientes se debe mostrar el estado de las mesas. Los grupos no se pueden romper aunque haya huecos sueltos suficientes.
16. Escribe un programa que rellene un array de 20 elementos con números enteros aleatorios comprendidos entre 0 y 400 (ambos incluidos). A continuación el programa mostrará el array y preguntará si el usuario quiere resaltar los múltiplos de 5 o los múltiplos de 7. Seguidamente se volverá a mostrar el array escribiendo los números que se quieren resaltar entre corchetes.
17. Escribe un programa que muestre por pantalla un array de 10 números enteros generados al azar entre 0 y 100. A continuación, el programa debe pedir un número al usuario. Se debe comprobar que el número introducido por teclado se encuentra dentro del array, en caso contrario se mostrará un mensaje por pantalla y se volverá a pedir un número; así hasta que el usuario introduzca uno correctamente. A continuación, el programa rotará el array hacia la derecha las veces que haga falta hasta que el número introducido quede situado en la posición 0 del array. Por último, se mostrará el array rotado por pantalla.