Java - Ayuda en resolver problema de algoritmia

 
Vista:
sin imagen de perfil

Ayuda en resolver problema de algoritmia

Publicado por CARLO BRUMMERT (2 intervenciones) el 04/05/2022 17:27:13
Saludos a cualquier persona que lea esto, por favor pido ayuda muy urgente con 3 ejercicios que no comprendo en absoluto si me pudieran ayudar a la brevedad estaría muy agradecido:

El Club Alianza Lima del Perú repartirá un monto de dinero entre sus jugadores por pasar a la siguiente fase de la Copa Libertadores. Los jugadores que se beneficiarán de este premio son: Josepmir Ballón, Leao Butrón, Alberto Rodríguez, Jean Deza, Beto Da Silva y Carlos Ascues. Cada jugador recibirá una cantidad equivalente a:

• Josepmir Ballón: 24% del monto de dinero a repartir.
• Leao Butrón: 45% del monto recibido por Alberto Rodríguez
• Alberto Rodríguez: 36% del monto de dinero a repartir
• Jean Deza: 25% del monto total recibido por Josepmir Ballón y Beto Da Silva.
• Beto Da Silva: 20% del monto total recibido por Leao Butrón y Alberto Rodríguez.
• Carlos Ascues: Lo que queda del dinero a repartir.

Dado el monto de dinero a repartir, diseñe un algoritmo que determine qué cantidad de dinero le corresponde a cada jugador.


La municipalidad de Lima repartirá un monto de dinero entre los distritos de San Bartolo, Comas, Independencia, Surco y Bellavista. Cada distrito recibirá una cantidad equivalente a:

• San Bartolo: 16% del monto de dinero a repartir.
• Comas: 45% del monto recibido por Independencia
• Independencia: 24% del monto de dinero a repartir
• Surco: 25% del monto total recibido por San Bartolo y Comas.
• Bellavista: Lo que queda del dinero a repartir.

Dado el monto de dinero a repartir, diseñe un algoritmo que determine qué cantidad de dinero le corresponde a cada distrito.


La empresa Tai Loy, con la intención de mejorar sus ventas, ha puesto en oferta la venta de cajas de lapiceros ofreciendo un doble descuento del 6.5%.

• El importe de compra se calcula multiplicando el precio de la caja por la cantidad de cajas adquiridas.
• El primer descuento es igual al 6.5% del importe de compra.
• El segundo descuento es igual al 6.5% del importe que se obtiene al restar el importe compra menos el importe del primer descuento.
• El importe del descuento total se calcula sumando los importes del primer y segundo descuento.
• El importe a pagar se calcula restando el importe de compra menos el importe del descuento total.
• Adicionalmente, la fábrica obsequia 3 caramelos por cada 2 cajas adquiridas.

Dados el precio de la caja de lapiceros y la cantidad de cajas adquiridas, diseñe un algoritmo que determine el importe de la compra, el importe del descuento total, el importe a pagar y la cantidad de caramelos de obsequio.

IMPLORO SU AYUDA.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en resolver problema de algoritmia

Publicado por Kabuto (1385 intervenciones) el 06/05/2022 12:06:23
A ver, básicamente solo se necesita un poco de matemáticas básicas y clarificas las ideas.

Veamos el primer ejercicio.
Estos son los porcentajes a repartir:
1
2
3
4
5
6
• Josepmir Ballón: 24% del monto de dinero a repartir.
• Leao Butrón: 45% del monto recibido por Alberto Rodríguez
• Alberto Rodríguez: 36% del monto de dinero a repartir
• Jean Deza: 25% del monto total recibido por Josepmir Ballón y Beto Da Silva.
• Beto Da Silva: 20% del monto total recibido por Leao Butrón y Alberto Rodríguez.
• Carlos Ascues: Lo que queda del dinero a repartir.

Si te fijas, el importe que reciben algunos jugadores, depende de lo que hayan recibido otros. Así que primer habrá que calcular lo que reciben los que no depende de otros jugadores. Los marco en negrita:
1
2
3
4
5
6
Josepmir Ballón: 24% del monto de dinero a repartir.
• Leao Butrón: 45% del monto recibido por Alberto Rodríguez
Alberto Rodríguez: 36% del monto de dinero a repartir
• Jean Deza: 25% del monto total recibido por Josepmir Ballón y Beto Da Silva.
• Beto Da Silva: 20% del monto total recibido por Leao Butrón y Alberto Rodríguez.
• Carlos Ascues: Lo que queda del dinero a repartir.

Comenzando por esos jugadores, podremos ir calculando el resto, siendo Carlos Ascues el último, pues este recibe lo que haya quedado una vez se haya repartido lo de todos los demás.

En el código podemos declarar una variable de tipo double por cada jugador, donde le calcularemos su importe a recibir.
El enunciado no nos dice cuál es el monto total a repartir, así que o lo decidimos nosotros, o lo pedimos por teclado nada más comenzar el programa.

Con esto, ya solo queda calcular los porcentajes siguiendo el orden necesario, comenzando por los jugadores que no dependen de nadie y siguiendo por los demás.

Y terminamos programa mostrando los cálculos realizados:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class RepartoJugadores {
 
	public static void main(String[] args) {
 
		Scanner teclado = new Scanner(System.in);
		//Jugadores
		double josepmir = 0, leao = 0, alberto = 0;
		double jean = 0, beto = 0, carlos = 0;
		//Comenzamos preguntando cuál es el importe a repartir
		System.out.print("Monto total a repartir: ");
		double montoTotal = teclado.nextDouble();
		teclado.close();
 
		//Comenzamos calculando los jugadores que NO dependen de otros
		//Josepmir recibe 24% del total
		josepmir = 24 * montoTotal / 100;
		//Alberto recibe 36% del total
		alberto = 36 * montoTotal / 100;
 
		//Ahora, los que dependen de otros jugadores
		//Leao recibe el 45% de Albert
		leao = 45 * alberto / 100;
		//Beto recibe el 20% de Leao + Alberto
		beto = 20 * (leao + alberto) / 100;
		//Jean recibe el 25% de Josepmir + Beto
		jean = 25 * (josepmir + beto) / 100;
 
		//Terminamos con Carlos que recibe lo que haya sobrado tras el reparto de los demás
		carlos = montoTotal - (josepmir + alberto + leao + beto + jean);
 
		//Mostramos en pantalla
		System.out.println("\nCantidades que reciben los jugadores:");
		System.out.println("Josepmir Ballon: " + josepmir);
		System.out.println("Leao Butron: " + leao);
		System.out.println("Alberto Rodriguez: " + alberto);
		System.out.println("Jean Daeza: " + jean);
		System.out.println("Beto Da Silva: " + beto);
		System.out.println("Carlos Ascues: " + carlos);
 
		System.out.println("\n\t\tFIN DE PROGRAMA");
	}
 
}

Si probamos, en pantalla parecemos conseguir un buen resultado:
1
2
3
4
5
6
7
8
9
10
11
Monto total a repartir: 25000
 
Cantidades que reciben los jugadores:
Josepmir Ballon: 6000.0
Leao Butron: 4050.0
Alberto Rodriguez: 9000.0
Jean Daeza: 2152.5
Beto Da Silva: 2610.0
Carlos Ascues: 1187.5
 
		FIN DE PROGRAMA

Intenta ahora tú realizar los otros ejercicios.

No importa si te equivocas, o te atascas. De hecho, esa es la única forma de aprender, cometiendo errores.
A veces es mejor intentar resolverlo primero con lápiz y papel, como si fuera un ejercicio de puras matemáticas sin tener que pensar en código Java.
Una vez resuelto, ya habrías comprendido la lógica que se ha de seguir y será más fácil trasladarlo a código Java.

Comparte aquí lo que hayas conseguido y te ayudamos a completar o corregir.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda en resolver problema de algoritmia

Publicado por Carlo Francisco (2 intervenciones) el 06/05/2022 16:19:13
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar