Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: theluigy13etv en 15 Abril 2016, 03:25 am



Título: ¿Este problema de algoritmos tiene doble interpretación?
Publicado por: theluigy13etv en 15 Abril 2016, 03:25 am
Estaba en clase de introducción a la algoritmia y el profesor planteó un problema. Yo lo interpreté de una forma pero el profesor de otra forma. Aquí está el enunciado y la solución . Si alguien lo pudiera revisar y ver cuál de las dos soluciones cree que sea la correcta  ;D

Un club ha adquirido polos y gorras para sus socios con un descuento del 15% para los polos y de 5% para las gorras. Diseñe un algoritmo que determine, en total, el importe de la compra, el importe del descuento y el importe a pagar por la compra efectuada.


PRIMERA INTERPRETACIÓN

Datos de entrada:
* Precio unitario de cada polo: (precio_polo)
* Precio unitario de cada gorra: (precio_gorra)
* Cantidad de polos: (cant_polo)
* Cantidad de gorras: (cant_gorra)




Datos de salida:


* Importe de la Compra Total (ic)
* Importe del Descuento Total (id)
* Importe a pagar Total (ip)



Algoritmo:
(http://i.imgur.com/dRagYYH.jpg)

SEGUNDA INTERPRETACIÓN

Datos de entrada:

* Importe a pagar del polo: (ipp)
* Importe a pagar de la gorra: (ipg)



Datos de salida:

* Importe de la Compra Total (ic)
* Importe del Descuento Total (id)
* Importe a pagar Total (ip)


Algoritmo:
(http://i.imgur.com/qTHlGZm.jpg)

El profesor dijo que la segunda respuesta era la correcta  :P


Título: Re: ¿Este problema de algoritmos tiene doble interpretación?
Publicado por: engel lex en 15 Abril 2016, 04:33 am
el primero está correcto

el segundo tiene error, porque empezando por allí ignora completamente las cantidades adquiridas, asume que compraron uno de cada cosa (ni más, ni menos)  y es cuando te quieren sacar dinero de más en una tienda XD

observemos... asumamos que el polo vale 100 al igual que la gorra veamos el importe de compra del polo
Código:
icp = ipp * 100/85 
icp = 100 * 1,177
icp = 117,7
me querían dar descuento y me metieron 17,7 de más? XD yo me voy de la tienda...

ahora veamos el resto
Código:
idp = icp * 15/100
idp = 117,7 * 0.15
idp = 17,66 #el descuento era menos de lo que me agregaron D':

Código:
icg = ipg * 100/95
icg = 100 * 1,052
icg = 105,2

Código:
idg = icg * 5/100
idg = 105,2 * 0.05
idg = 5,26 # :) salgo ganando
es divertido que entre más descuento, más caro me sale XD

Código:
ic = icp + icg
ic = 117,7 + 105,2
ic = 222.9

Código:
id = idp + idg
id = 17.66 + 5.26
id = 22.92
que generoso descuento... que a demás no está del todo relacionado (y no es error de decimales)

Código:
ip = ipp + ipg
ip = 100 + 100
ip = 200
uff que generosos con esos descuentos!

comprobación matemática

lo que puede estar intentando es "si 100 es lo que pago despues del descuento, cuanto es la cantidad total?"

aún así está mal...

para visualizar como se hace vamos al siguiente ejemplo

80 es mi precio base y le sumo un 25% el resultado es 100
Código:
final = 80 + 25%
final = 80 + (80 * 25/100)
final = 80 + 20
final = 100

ahora, si yo se que 100 es el 100%(80) + el 25%(20), es decir, se que 100 es el 125%, como se cuanto es el 100%?

simplemente base / 125%

Código:
base = 100 / (125/100)
base = 100 / 1.25
base = 80


Título: Re: ¿Este problema de algoritmos tiene doble interpretación?
Publicado por: MinusFour en 17 Abril 2016, 17:35 pm
Los dos algoritmos están correctos dependiendo de la entrada que no es mencionada en el problema. Tu primer algoritmo toma como entrada la cantidad de productos y el precio de estos productos. Tu segundo algoritmo, toma el importe a pagar por los elementos con el descuento aplicado. Un tercer algoritmo, puede considerar como datos de entrada el importe a pagar por los elementos sin el descuento.