Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   JAVA (https://www.clubdelphi.com/foros/forumdisplay.php?f=16)
-   -   arbol expresiones artimeticas (https://www.clubdelphi.com/foros/showthread.php?t=33818)

halizia 18-07-2006 09:18:15

arbol expresiones artimeticas
 
hola,

quisiera saber si hay programas que dada una expresion del tipo a+b*c generen el árbol sintáctico y las evaluen correctamente.

Gracias

Arcioneo 18-07-2006 09:59:51

Lo hice en la escuelita
 
:D
Cita:

Empezado por halizia
hola,

quisiera saber si hay programas que dada una expresion del tipo a+b*c generen el árbol sintáctico y las evaluen correctamente.

Gracias

Pues no los hay pero si hay muchos libros donde vienen los algoritmos de como hacer un analizador sintactico y que ademas te evalue las expresiones.

Te recomiendo uno llamado "Estructuras de datos en C y C++"

Ñuño Martínez 18-07-2006 17:55:37

También tienes el YACC y el Bison, que no es exactamente lo que pides pero puede ayudarte (o a otra persona que haya llegado hasta aquí buscando algo parecido).

Y también te puedes mirar el libro "C: Manual de referencia" de Hervert Schildt, que incluye un Analizador Matemático Recursivo Descendente. El nombre puede asustar, pero es muy fácil entender cómo funciona.

halizia 23-07-2006 14:58:25

arbol
 
yo lo que me refiero es que por ejemplo, el usuario introduzca una expresion del tipo: a+5*b dónde de valores a 'a' y a 'b' y me devuelva el valor correspondiente, por ejemplo si a=2 y b=3 el resultado seria 17

no sé si me explico bien

Saludos

Arcioneo 02-08-2006 09:27:06

Pues creo que ya entendi
 
Cita:

Empezado por halizia
yo lo que me refiero es que por ejemplo, el usuario introduzca una expresion del tipo: a+5*b dónde de valores a 'a' y a 'b' y me devuelva el valor correspondiente, por ejemplo si a=2 y b=3 el resultado seria 17

no sé si me explico bien

Saludos

La verdad que no te explicas bien, suena extrañamente simple tu pregunta

o que quieres es que haga las operaciones por orden, por la precedencia de los signos no?

A bueno, pues el algoritmo viene en el libro que te dije, es muy sencillo y esta en un solo capitulo todo el codigo.

O si no busca, la palabra, PREFIJO, POSFIJO, e INFIJO, que son los ordenes en que tienes que convertir la expresion para que se haga correctamente.:cool:


La franja horaria es GMT +2. Ahora son las 00:30:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi