Hola a todos, hoy os dejo la tarea 4 de programación de 1º DAM/DAW de e-learning.
Pueden haber diferentes tareas según la región o instituto. Si quieres que agregue alguna tarea, contacta conmigo.
Tarea UT4: «Uso de estructuras de control»
Enunciado:
Para afianzar los conocimientos en el uso de estructuras de control de flujo así como de excepciones, vamos a realizar dos programas. Se deberá crear un proyecto en Netbeans diferente para cada uno de los ejercicios propuestos, cuyo nombre será PROG04_EjercX, donde X es el número de ejercicio. Cada proyecto incluirá una sola clase que contendrá un método main. El alumno decidirá si incluir todo el código en el método main o dividirlo en diferentes métodos.
Relación de ejercicios a realizar:
1.- Deseamos implementar un juego en Java que permita al usuario adivinar un número oculto (que será aleatorio). El funcionamiento será el siguiente:
El programa mostrará un pequeño menú en pantalla con las siguientes opciones (1. Configurar, 2. Jugar, 3. Salir).
- Si el usuario selecciona la primera opción, se le solicitará por teclado el número de intentos permitidos (numInt) y el número máximo (numMax) generado.
- Si el usuario selecciona la opción 2, el programa generará un número aleatorio entre 0 y numMax que será el número a adivinar (numOculto). A partir de este momento, se le solicitarán al usuario números hasta adivinar el número oculto.
- Si el usuario adivina el número, se mostrará un mensaje «Has ganado!. Has necesitado X intentos».
- Si se consume el número de intentos sin adivinar el número, se mostrará el mensaje «Perdiste!. Intentos consumidos».
- En cada intento, si el usuario no adivina el número se le proporcionará una pista, por ejemplo, «El número oculto es menor».
- En ambos casos, la siguiente acción será mostrar el menú.
- Si el usuario selecciona Jugar sin configurar previamente el número de intentos y el número máximo generado, se tomarán como valores por defecto: numInt=5 y numMax=10.
- Si el usuario pulsa la opción 3, el programa finaliza.
Para generar un número aleatorio en java puedes utilizar el siguiente código:
int numOculto = (int)Math.floor(Math.random()*20+1); //genera un número aleatorio entre 0 y 20, ambos incluidos.
2.- Cuando dividimos un número entre 0 se genera un valor indeterminado. En cualquier lenguaje de programación este tipo de operaciones genera un error de ejecución que debe ser controlado desde el código para evitar malas experiencias al usuario. En Java, cuando se produce esta operación se genera la excepción ArithmeticException. Queremos implementar un programa Java que calcule la división de dos números solicitados por teclado (dividendo y divisor). El programa solicitará números indefinidamente hasta que los dos números solicitados sean -1. Se debe controlar mediante excepciones que el divisor no sea 0. En caso de serlo, se mostrará un mensaje por pantalla. También habrá que mostrar por pantalla el número de divisiones calculadas. Utiliza número enteros para las variables.
Importante
- En la cabecera de las clases añade documentación indicando autor y descripción
de la clase. - En la cabecera de cada método añade documentación indicando la funcionalidad
que implementa y el valor que devuelve. - No será necesario realizar comprobaciones de tipos de datos leídos desde teclado.
Por ejemplo, si vamos a leer un número, no será necesario comprobar que el valor
introducido es un número
Aquí lo puedes descargar la tarea completa.
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Muy buenas, estoy cursando el Módulo de Programación en DAW este año y en mi comunidad la Tarea 4 tiene TODO ESTO. Te agradecería que me ayudaras porque estoy muy perdido y seguro sirve para el resto de estudiantes.
Un saludo y enhorabuena por tus videos, nos salvan la vida!!
Enunciado.
Para afianzar los conocimientos en el uso de estructuras de control de flujo así como de excepciones, vamos a realizar una serie de programas. Cada ejercicio incluirá una sola clase que contendrá un método main. El alumno decidirá si incluir todo el código en el método main o dividirlo en diferentes métodos.
Tendremos en cuenta en todos los ejercicios el control de errores, de tal manera que ningún programa se corte por entradas incorrectas.
Ejercicio 1: Implementar un programa que me pida números por teclado hasta que el resultado de la multiplicación de los dos últimos introducidos sea mayor que otro número pedido al comienzo del programa.
Ejemplo:
Introduce el límite que se debe superar:25
Introduce un número:3
Introduce otro número:5
Resultado:15
Introduce otro número:4
Resultado:20
Introduce otro número:7
El resultado final es 28 mayor que 25
Ejercicio 2: Un número es primo si solo tiene dos divisores: el 1 y el propio número. Implementa un programa Java que pida por teclado números hasta que alguno de ellos sea negativo que es cuando el programa finaliza. Para cada uno de ellos:
Comprueba si no es 0. En caso afirmativo, muestra el mensaje por pantalla «El número es cero».
Si es positivo, deberá mostrar por pantalla si es primo o no.
Al final del programa me deberá mostrar el mayor número primo obtenido y la suma de los primos introducidos.
Ejercicio 3: Realiza un programa que me pida 3 números por teclado y me vaya sacando todos los números primos que contiene en su recorrido desde el 1 hasta dicho número.
Ejemplo:
Dame un número:9
2-3-5-7
Dame un número:17
2-3-5-7-11-13-17
Dame un número:4
2-3
Ejercicio 4: Deseamos implementar un juego en Java que permita al usuario adivinar un número oculto (que será aleatorio). El funcionamiento será el siguiente:
El programa mostrará un pequeño menú en pantalla con las siguientes opciones (1. Configurar, 2. Jugar, 3. Salir).
Si el usuario selecciona el la primera opción, se le solicitará por teclado el número de intentos permitidos (numInt) y el número máximo (numMax) generado.
Si el usuario selecciona la opción 2, el programa generará un número aleatorio entre 0 y numMax que será el número a adivinar (numOculto). A partir de este momento, se le solicitarán al usuario números hasta adivinar el número oculto.
Si el usuario adivina el número, se mostrará un mensaje «Has ganado!. Has necesitado X intentos».
Si se consume el número de intentos sin adivinar el número, se mostrará el mensaje «Perdiste!. Intentos consumidos».
En cada intento, si el usuario no adivina el número se le proporcionará una pista, por ejemplo, «El número oculto es menor».
En ambos casos, la siguiente acción será mostrar el menú.
Si el usuario selecciona Jugar sin configurar previamente el número de intentos y el número máximo generado, se tomarán como valores por defecto: numInt=5 y numMax=10.
Si el usuario pulsa la opción 3, el programa finaliza.
Para generar un número aleatorio en java puedes utilizar el siguiente código:
int numOculto = (int)Math.floor(Math.random()*20+1); //genera un número aleatorio entre 0 y 20, ambos incluidos.
Ejercicio 5: Cuando dividimos un número entre 0 se genera un valor indeterminado. En cualquier lenguaje de programación este tipo de operaciones genera un error de ejecución que debe ser controlado desde el código para evitar malas experiencias al usuario. En Java, cuando se produce esta operación se genera la excepción ArithmeticException. Queremos implementar un programa Java que calcule la división de dos números solicitados por teclado (dividendo y divisor). El programa solicitará pares de números indefinidamente hasta que los dos números solicitados sean -1. Se debe controlar mediante excepciones que el divisor no sea 0. En caso de serlo, se mostrará un mensaje por pantalla. También habrá que mostrar por pantalla el número de divisiones calculadas. Utiliza número enteros para las variables.
IMPORTANTE
En la cabecera de las clases añade documentación indicando autor y descripción de la clase.
En la cabecera de cada método añade documentación indicando la funcionalidad que implementa y el valor que devuelve.
No será necesario realizar comprobaciones de tipos de datos leídos desde teclado. Por ejemplo, si vamos a leer un número, no será necesario comprobar que el valor introducido es un número.
Sí se deberá capturar los posibles errores en todos los programas de tal manera que aunque en el punto anterior se introdujese un dato erróneo el programa no se corte.