Lendo Expressao Aritmetica

6 respostas
marcioyudi

Estou querendo desenvolver um pequeno codigo para reconhecimento de uma expressao aritmetica qualquer. Ex: (3+1)*2.
O meu problema esta sendo na parte de leitura dos numeros. Eu devo ler caracter a caracter e testar cada uma das posicoes desta String e depois montar os dados ou existe uma maneira mais simples de tratar esses dados ??

6 Respostas

Mauricio_Linhares

http://www.japisoft.com/formula/

marcioyudi

Estou realmente precisando fazer um aplicativo desse tipo no braço mesmo!

marcioyudi

Agora meu outro problema, é montar uma arvore binária com os dados. Sera que e mais facil contruir ela de baixo para cima ou de cima para baixo? :roll:

Eu sei que estou sendo persistente neste assunto, mas o que eu posso fazer :?:

Mauricio_Linhares

Se ela é binária, não deve fazer muita diferença se você começa por cima ou por baixo não.

Acho que as mais complexas é que vão ficar diferentes… cara, faz teeeeeeeeempo que eu paguei estrutura de dados! Acho que as tipo B (é isso mesmo?) é que vão ficar diferentes.

marcioyudi

Estou ficando maluco com esse probleminha… Sera que eu devo tratar caracter a caracter a minha expressao para depois montar o sistema ?

Mauricio_Linhares

Sim e não, você só tem que separar os números dos operadores (mas isso você já sabia né…).

Olha, eu fiquei pensando besteira aqui e pensei no seguinte, imagine uma árvore onde as folhas são “números” e os nós são “operadores”, tipo:

1+ 1

Vira:

          +
     1          1

Não sei se isso funciona, mas é uma idéia né. Usando o padrão Composite não deve ser tão complicado assim de montar.

Criado 5 de junho de 2005
Ultima resposta 12 de jun. de 2005
Respostas 6
Participantes 2