Bueno!.
Gran interés!. (Ocurre en todos los foros de programación).
El problema no es resolver el ejercicio, es usar la lógica para encontrar la mejor solución.
Y eso es lo más complicado. Y que se debe ejercer.
Forma que lo haríamos, paso a paso. Si tenemos una cantidad de ingredientes y sabemos que necesitamos,
podemos ir restando una y otra vez de los ingredientes disponibles y crear un plato, llegará un momento que no
podamos hacer más platos.
' Procedimiento habitual
Public Function numdeplatosv1(docenasdehuevo As Integer, kilosdechorizo As Float) As Integer
Dim totalingrediente1 As Integer
Dim totalingrediente2 As Float
Dim totaldeplatos As Integer
'Cantidad total de los ingredientes
'Unidades
totalingrediente1 += docenasdehuevo * 12
'Gramos
totalingrediente2 += kilosdechorizo * 1000
'Se necesita para un plato:
' 2 huevos
' 200g de chorizo
'Vamos eliminando de las existencias los ingredientes necesarios por cada plato
Repeat
totalingrediente1 -= HUEVOSPORPLATO
totalingrediente2 -= CHORIZOPORPLATO
totaldeplatos += 1
Until totalingrediente1 < 2 Or totalingrediente2 < 200
Return totaldeplatos
End
Pero y si...decimos, si se nos acaba uno de los ingredientes necesario para un plato,
no tenemos por que continuar....esto resulta un poco más complejo de pensar la primera vez.
'Pocedimiento alternativo y más rápido
Public Function numdeplatosv2(docenasdehuevo As Integer, kilosdechorizo As Float) As Integer
Dim totalingrediente1 As Integer
Dim totalingrediente2 As Float
'Cantidad total de los ingredientes
'Unidades
totalingrediente1 += docenasdehuevo * 12
'Gramos
totalingrediente2 += kilosdechorizo * 1000
'Se necesita para un plato:
' 2 huevos
' 200g de chorizo
'Si se acaba uno de los ingredientes ya no podemos hacer más plato
'Devolvemos la cantidad de platos máximos que se admite con un total de un ingredientes
If totalingrediente1 / HUEVOSPORPLATO < totalingrediente2 / CHORIZOPORPLATO Then
Return totalingrediente1 / HUEVOSPORPLATO
Else
Return totalingrediente2 / CHORIZOPORPLATO
Endif
End
Fijaros que el condicional comprueba dos ingredientes..Pero y si ahora le queremos
añadir "patatas fritas!" al plato, ahora serian más ingredientes...esa condición no nos valdría..
Y si...usamos otras cosas....
Saludos
Descripción: |
Problema de lógica. Encontrar cuantos platos podemos hacer con dos ingredientes |
Descargar |
Nombre del archivo: |
Restaurante-0.0.1.tar.gz |
Tamaño: |
11.71 KB |
Descargado: |
338 veces |
Descripción: |
Problema de lógica. Encontrar cuantos platos podemos hacer con dos ingredientes |
Descargar |
Nombre del archivo: |
Restaurante-0.0.1.tar.gz |
Tamaño: |
11.71 KB |
Descargado: |
338 veces |
Descripción: |
Problema de lógica. Encontrar cuantos platos podemos hacer con dos ingredientes |
Descargar |
Nombre del archivo: |
Restaurante-0.0.1.tar.gz |
Tamaño: |
11.71 KB |
Descargado: |
338 veces |