Foros del Web » Programación para mayores de 30 ;) » .NET »

como realizar operaciones aritmeticas que se encuentran dentro de una cadena

Estas en el tema de como realizar operaciones aritmeticas que se encuentran dentro de una cadena en el foro de .NET en Foros del Web. Buenas a Todos. Nose si esta bien escrito el titulo, de lo que se quiere hacer. Pero ... La idea es como podría devolver un ...
  #1 (permalink)  
Antiguo 01/12/2009, 08:30
 
Fecha de Ingreso: octubre-2005
Ubicación: Perú - Lima
Mensajes: 10
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta como realizar operaciones aritmeticas que se encuentran dentro de una cadena

Buenas a Todos.
Nose si esta bien escrito el titulo, de lo que se quiere hacer. Pero ...

La idea es como podría devolver un resultado de la siguiente expresión.

Dim opreacion as String

donde por ejemplo ...

opreacion="((2+2)(5*3))/6"

La idea es como hacer para que te devuelva el resultado, en este caso 10.
Espero q haya sido entendible.

Nota:
No se trata que una funcion lo haga, porque creo que no hay, y si existe "Bienvenida"; a lo que quiero llegar es alguna idea (o varias) de obtener el tan anhelado resultado.

Saludos

Última edición por jk-owen; 01/12/2009 a las 12:23 Razón: titulo, contenido corregido
  #2 (permalink)  
Antiguo 01/12/2009, 08:47
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Respuesta: como realizar operaciones aritmeticas que se encuentran dentro de una cade

Para esto, tendrás que utilizar la función Mid.

Deberás hacer un bucle a tu cadena para revisar caracter por caracter y poder resolver lo que está dentro de paréntesis primero.

por ejemplo:
for i as integer = 0 to operacion.lengh
if mid(operacion,i,1) = "(" Then
'grabas la posicion de apertura de un signo, o sea, el valor de i. Luego buscar la posición de cierre del signo, restas la diferencia y tendrás la cantidad de caracteres existentes. Etc.
End If
next

Esto es una idea. Deberás identificar caracter por caracter para determinar la operación y los valores.
La verdad que el programita estaría bastante entretenido...
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #3 (permalink)  
Antiguo 01/12/2009, 08:50
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: como realizar operaciones aritmeticas que se encuentran dentro de una cade

solo 3 palabras para resolver este problema

notacion polaca inversa
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 01/12/2009, 08:52
 
Fecha de Ingreso: octubre-2005
Ubicación: Perú - Lima
Mensajes: 10
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: como realizar operaciones aritmeticas que se encuentran dentro de una cade

Gracias por responder. RsOfT
Es buena tu idea pero engorosa, porq? ... es q lo que puse es un ejemplo, en realidad lo que se quiere son operaciones mas complejas.

Saludos
  #5 (permalink)  
Antiguo 01/12/2009, 08:59
 
Fecha de Ingreso: octubre-2005
Ubicación: Perú - Lima
Mensajes: 10
Antigüedad: 18 años, 7 meses
Puntos: 0
Sonrisa Respuesta: como realizar operaciones aritmeticas que se encuentran dentro de una cade

Cita:
Iniciado por Peterpay Ver Mensaje
solo 3 palabras para resolver este problema

notacion polaca inversa
Gracias por responder ...

Voy a averiguar mas del tema ... lo poco que he leido, se ve interesante. Lo pondre en practica, luego comento.

Saludos
  #6 (permalink)  
Antiguo 02/12/2009, 10:13
 
Fecha de Ingreso: octubre-2005
Ubicación: Perú - Lima
Mensajes: 10
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: como realizar operaciones aritmeticas que se encuentran dentro de una cade

Cita:
Iniciado por jk-owen Ver Mensaje
Gracias por responder ...

Voy a averiguar mas del tema ... lo poco que he leido, se ve interesante. Lo pondre en practica, luego comento.

Saludos
Bien ... con respecto a la respuesta anterior, pues si, es una solucion aceptable , ... si hay otra bienvenida.

Bueno manteniendo el ejemplo inicial ... a lo q se quiere llegar aplicando notacion polaca inversa.

Dim opreacion as String

opreacion="((2+2)(5*3))/6"

se reemplazaria (cosa que aun no lo hice por tiempo ..., despues comento).
... he ahi la idea a groso modo.

opreacion="2 2 + 5 3 * * 6 /"
opreacion="2 2 + 5 3 * * 6 /"
opreacion="4 15 * 6 /"
opreacion="60 6 /"
opreacion="10"

Nota.
Para los q no la captaron. Pueden ver..
es.wikipedia.org/wiki/Notaci%C3%B3n_polaca_inversa
saludos.
  #7 (permalink)  
Antiguo 02/12/2009, 12:19
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Respuesta: como realizar operaciones aritmeticas que se encuentran dentro de una cade

Excelente
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
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 02:08.