Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como convertir?

Estas en el tema de Como convertir? en el foro de Visual Basic clásico en Foros del Web. Alguien sabe como poder convertir una variable string que contiene una expresion algeobraica del tipo Ej: "Pol = 2 * X^2 + 2 * X" ...
  #1 (permalink)  
Antiguo 29/03/2006, 07:45
Avatar de piojoman  
Fecha de Ingreso: enero-2005
Ubicación: Argentina
Mensajes: 224
Antigüedad: 19 años, 3 meses
Puntos: 3
Como convertir?

Alguien sabe como poder convertir una variable string que contiene una expresion algeobraica del tipo Ej: "Pol = 2 * X^2 + 2 * X" con una incognita, la idea que esta cadena pueda ser interpretada matematicamente, ej: si le damos un valor a X nos de un resultado numerico Pol.
Aclaracion ^ = Potencia.
Bye!
  #2 (permalink)  
Antiguo 29/03/2006, 17:48
Avatar de Hager  
Fecha de Ingreso: mayo-2005
Ubicación: Bogota, Colombia
Mensajes: 106
Antigüedad: 19 años
Puntos: 2
Mira, te tocaria mapear la cadena, es decir, hacer un arreglo con cada uno de los componentes de la estructura
Sujerencia

cadena=" 2,*,X,^,2, +, 2, *, X,"
luego dale un split
temp=split(cadena,",")
esto te genera un arreglo
luego lo recorres y remplazas las X con el valor que necesites
valor="2"
for i=0 to uboud(temp)-1
if temp(i)="X" then temp(i)=valor
next i

luego generas el resultado de la ecuacion
resultado=0

for i=0 to ubound(temp)-1
if isnumeric(temp(i)) then
resultado=resultado + temp(i)
end if
next i

claro de la suma es solo un ejemplo usa un select case y listo
__________________
:cool: Nadie enseña a nadie...
todos aprendemos de todos....!!!
  #3 (permalink)  
Antiguo 29/03/2006, 20:14
Avatar de piojoman  
Fecha de Ingreso: enero-2005
Ubicación: Argentina
Mensajes: 224
Antigüedad: 19 años, 3 meses
Puntos: 3
Con algunas modificaciones todo anduvo de 10!!!

Muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:32.