Está en la página 1de 8

2022

TAREA 4: Uso de estructuras de


control.

PROGRAMACIÓN
JOSUÉ MEDINA GARCIA
Contenido
Ejercicio 1. ................................................................................................................ 2
Ejercicio 2. ................................................................................................................ 2
Ejercicio 3. ................................................................................................................ 3
Ejercicio 4. ................................................................................................................ 4
Ejercicio 5. ................................................................................................................ 6
Ejercicio 1.
Implementar un programa que muestre la tabla de multiplicar de un número leido desde
teclado utilizando al menos tres bucles diferentes. El número leído desde teclado debe ser
menor que 30. En caso contrario se mostrará un mensaje por pantalla y el programa
finalizará.

RESOLUCION.
La resolución de este ejercicio ha sido en primer lugar realizar un estudio de lo que se
pide, escribiendo con palabras coloquiales o pseudocódigo en papel lo que se quiere hacer
y posteriormente la implementación.

En este ejercicio no se ha divido en métodos, toda la funcionalidad se ha hecho en el


método principal (main). Se ha utilizado el bucle while para comprobar si los números
están comprendidos entre 1 y 30, si es así se pide al usuario que introduzca el número
para realizar la tabla de multiplicar de este numero. Si dicho numero no es superior a 30
se muesta la tabla (se ha utilizado el bucle if-else), y con el bucle for se hacen las
multiplicaciones de los 10 numeros que contiene la tabla de multiplicar. Si el numero es
mayor a 30 se muestra el mensaje finalizando el programa.

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 5 números. Para cada uno de ellos:
• Comprueba si es negativo. En caso afirmativo, muestra el mensaje por pantalla
"El número es negativo".
• Si es positivo, deberá mostrar por pantalla si es primo o no.
• Procesados los 5 números, el programa finaliza.

RESOLUCION.
La resolución de este ejercicio ha sido en primer lugar realizar un estudio de lo que se
pide, escribiendo con palabras coloquiales o pseudocódigo en papel lo que se quiere hacer
y posteriormente la implementación.
Se han creado varios métodos.
• Metodo principal en el cual se solicitan los 5 numeros al usuario y se llama al
método esNegativoPrimo, para que muestre por pantalla si es negativo y si es
primo.
• Metodo esNegativoPrimo, realiza comprobaciones con el bucle if para ver si los
números son negativos y si es positivo llama al método esPrimo para comprobar
si es primo o no, mostrando los mensajes por pantalla según la respuesta.
• Metodo esPrimo, realiza las comprobaciones con el bucle for para ver si es
divisible el numero y ver si es primo o no. Tambien se han excluido los casos
raros como son el 0, 1 y 4 que no son primos.

Ejercicio 3.
El Mínimo Común Múltiplo (MCM) de un conjunto de dos números es el número positivo
más pequeño que es múltiplo de los dos números. Es posible calcular el MCM de tres o
más números. Por ejemplo, el MCM (2,3) es 6. El 6 es el múltiplo mas pequeño de 2 y de
3. Implementa un programa Java que pida dos números por teclado, compruebe que son
positivos y calcule su MCM. En caso de no ser ambos números positivos, el programa
mostrará un mensaje por pantalla y finalizará.

RESOLUCION.
La resolución de este ejercicio ha sido en primer lugar realizar un estudio de lo que se
pide, escribiendo con palabras coloquiales o pseudocódigo en papel lo que se quiere hacer
y posteriormente la implementación

Se han creado distintos métodos:


• Metodo principal para pedir al usuario que introduzca los dos números, y se llama
al método resultado para devolver como su propio nombre indica el resultado, si
los números son positivos devuelve el MCM y si no son positivos finaliza el
programa con un mensaje, se ha utilizado el bucle if-else.
• Metodo mcm, calcula el MCM de los dos números introducidos por teclado,
obteniendo el numero mayor y menor y se realiza el calculo del MCM, se ha
utilizado la clase MATH.
• Metodo mcd, calcula el minimo común divisor devolviento un entero. Se ha
utilizado la clase MATH y el bucle do-while para el calculo del mcd, si los
números no son 0.

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:

o 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.
o 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.

RESOLUCION.
La resolución de este ejercicio ha sido en primer lugar realizar un estudio de lo que se
pide, escribiendo con palabras coloquiales o pseudocódigo en papel lo que se quiere hacer
y posteriormente la implementación y depuración.

Se han definido las variables necesarias. Se han definido las variables incializadas de
numInt y numMax, para el caso de que el usuario seleccione la opción 2 directamente.

Se ha creado un método principal en el cual se incializan dichas variables y se llama al


método que tiene toda la función del juego.

En el método del juego, se utiliza el bucle while, para cuando no se seleccione la opción
salir (3), realice las operaciones necesarias.
Se muestran las opciones indicadas en el enunciado por pantalla, se le pide al usuario que
introduzca una de ellas.
Con el bucle switch se comprueba que opción ha seleccionado el usuario y según la que
haya elegido se realiza una operación distinta.
En la primera opción se le solicita por teclado que introduzca el numero de intentos
permitod y el numero máximo generado.
En el segunda opción, se crea un un numero oculto aleatorio y con los bucles if-else, se
comprueba si el numero introducido por el usuario es igual al numero generado se le
indica con un mensaje por pantalla que ha ganado. Con otro bucle if-else, si no acierta el
numero se comprueba si es mayor el numero introducido que el generado y se le da una
pisa con un mensaje por pantalla de que el numero oculto es mayor y si es el caso contrario
de que es mejor.
Con otro bucle if-else, se comprueba si los números de intentos del usuario son igual a 0,
restándolo con la variable numInt se le indica con un mensaje por pantalla que ha perdido.
Cada vez que introduce un numero y no acierta se muestra un mensaje con el numero de
intentos que le quedan y se incrementa el contado de intentos del jugador.
Si selecciona la opción tercera, se sale del juego.
Se ha tomado la decisión de incluir una excepción InputMismatchException para el caso
de que el usuario no introduzca números, se le avise de que introduzca un numero.

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á 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.

RESOLUCION.

La resolución de este ejercicio ha sido en primer lugar realizar un estudio de lo que se


pide, escribiendo con palabras coloquiales o pseudocódigo en papel lo que se quiere hacer
y posteriormente la implementación.
Se ha hecho uso del bucle while para comprobar si los números son distintos de -1, con
el bucle if se comprueba si son realmente distintos de -1 y se realiza la división, cada vez
que se muestra el resultado se incrementa el contador de las divisiones y una vez ha
finalizado se muestra por pantalla un mensaje con el numero de divisiones realizadas.

Con la excepción se captura si el numero es -1 y se indica que no se puede dividir.

También podría gustarte