Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Meine programmen en 4 Febrero 2012, 15:45 pm



Título: [BATCH] Ayuda con calculadora
Publicado por: Meine programmen en 4 Febrero 2012, 15:45 pm
Veran, estoy intentando hacer un pequeño programa que resuelva operaciones largas con potencias y raices cuadradas. Ej.: (√9-1)x4². Para esto pense en cambiar las raices por el numero (Ej.:(3-1)x4²) y las potencias hacer que se calculen (Ej.:(3-1)x16) y despues hacer que SET /A calcule el resultado (Ej.:
Código:
SET /A OPERACION=(3-1)*16
32
). Pero tengo un problema. Se como hacer que √1 se cambie por 1, √4 se cambie por 2, √9 se cambie por 3, √16 se cambie por 4, √25 se cambie por 5 etc... Pero no se como hacer que √(10-1) se cambie por 3. Habia pensado en escribirlo de manera que el programa lo reconozca (Ej.: √$10-1$) y que antes de cambiar raices por numeros usar SET /A para realizar las operaciones que esten entre "$ $". Pero no se como hacer que el programa saque las operaciones que estan entre las $ y las realice, y todavia menos se como cambiar el resultado por las operaciones. Esto mismo me podria servir para operaciones como (4-2)² (Ej.:$4-2$²) o incluso para operaciones como ((5-3)²)²  si se añaden mas simbolos (Ej.:&$5-3$²&²), el problema en este ultimo caso es que en vez de usar SET /A solamente para calcular el resultado tendria que poner las lineas de comando que permiten calcular potencias y raices y despues SET /A. Muchas gracias de antemano  :)


Título: Re: [BATCH] Ayuda con calculadora
Publicado por: leogtz en 4 Febrero 2012, 16:48 pm
Lo que intentas hacer no es para nada fácil, implica quizás hacer un análisis recursivo descentente, es decir, un análisis sintáctico y hacerlo en Batch simplemente sería muy pero muy pero muy engorroso, además de poco eficiente, deja esa tarea para otro lenguaje.