OBTENER VALOR DE CONSIGNA CON 20 VARIABLES
Publicado por christian (16 intervenciones) el 28/05/2021 20:47:05
Hola, tengo la siguiente problemática: tengo 20 valores que serán fijos o estarán preestablecidos (las variables) y tengo un textbox donde se insertara una consigna (un valor x deseado por el usuario), el algoritrmo debe ser capaz de llegar al valor de consigna eligiendo entre esos 20 valores preestablecidos.
El programa esta enfocado a resolver un tema de pesaje donde se inserta un peso X por ejemplo 500 grs y el algoritmo prueba todas las formas de llegar a esos 500 grs con los 20 valores predefinidos que son de distinto valor cada uno por ejemplo 100 grs 200 grs 350 grs etc.....
Lo que yo tengo es asigne las 20 variables y con IF y ELSEIF voy probando si la variable 1 + la 2 llegan al valor, sino continuo con variable 1 + la 3 así sucesivamente, luego la variable 2 + la 3, varialbe 2 + la 4, etc.....
Dejo parte de esa logica los label es solo para corroborar la salida y seleccione valores en el form.
El programa esta enfocado a resolver un tema de pesaje donde se inserta un peso X por ejemplo 500 grs y el algoritmo prueba todas las formas de llegar a esos 500 grs con los 20 valores predefinidos que son de distinto valor cada uno por ejemplo 100 grs 200 grs 350 grs etc.....
Lo que yo tengo es asigne las 20 variables y con IF y ELSEIF voy probando si la variable 1 + la 2 llegan al valor, sino continuo con variable 1 + la 3 así sucesivamente, luego la variable 2 + la 3, varialbe 2 + la 4, etc.....
Dejo parte de esa logica los label es solo para corroborar la salida y seleccione valores en el form.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim consigna As String = TextBox1.Text
If consigna = "0" Then
MsgBox("inserte consigna")
TextBox1.Focus()
ElseIf peso1 = CInt(consigna) Then
Label2.BackColor = Color.Green
ElseIf peso1 + peso2 = CInt(consigna) Then
Label2.BackColor = Color.Green
Label3.BackColor = Color.Green
ElseIf peso1 + peso3 = CInt(consigna) Then
Label3.BackColor = Color.Green
Label4.BackColor = Color.Green
Valora esta pregunta


0